日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > HTML >内容正文

HTML

前端必会的网络知识

發布時間:2024/2/28 HTML 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 前端必会的网络知识 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

講真我不喜歡這部分內容,雖然是通信出生,但是通信的知識它不進腦子呀,也不知道為啥會學通信。不過有些知識點算是通信和互聯網的常識,那也沒辦法,還是得學。只做自己喜歡的事太奢侈了,我們這些普通人能有什么辦法呢,學唄!


先來點簡簡單單的計算機常識吧,不寫出來怕記不住呀

馮諾依曼式計算機

要分清楚計算機之父是馮諾依曼,艾倫·麥席森·圖靈是計算機科學之父。

說一下什么是馮諾依曼式計算機,簡單來說,就是你現在接觸到的什么電腦、筆記本、平板、手機、電子手表之類的都是馮諾依曼式計算機,具體是滿足下面條件的電子設備

  • 運算器:CPU,GPU(顯卡)
  • 儲存器
    • 內存RAM:讀寫速度快,斷電清空數據
    • 硬盤ROM:數據持久化,讀寫速度相對較慢
  • 控制器:主板上的一些器件
  • 輸入設備:鍵盤,鼠標,麥克風,網口
  • 輸出設備:顯示器,耳機,網口

【注】網口既是輸出設備又是輸入設備


這就是我不喜歡的點!對子網劃分一竅不通……

IP地址

IP地址的格式

IP地址為32位地址,分為四個八位段——xxx.xxx.xxx.xxx,每個段0~255,每個段都是由8個0、1組成的

IP地址的分類

IP地址分為ABCDE五類,其中D(多播)E類(試驗)咱用不著

  • A類從0.0.0.0~127.255.255.255;
  • B類從128.0.0.0~191.255.255.255;
  • C類從192.0.0.0~223.255.255.255。

一個IP地址分為兩個部分(網絡ID和主機ID)

  • A類前8位為網絡ID,后24位為主機ID
  • B類前16位為網絡ID,后16位為主機ID
  • C類前24位為網絡ID,后8位為主機ID
  • DE類不區分網絡ID和主機ID(管他呢,反正咱也用不著)

關于IP和子網劃分我get到的東西

參考了這兩篇博客https://www.cnblogs.com/kangxinxin/p/9917961.html、IP子網劃分

我需要了解的知識點:子網劃分是為了解決IP資源不足的情況;子網掩碼可以隱藏子網,使外部看網絡沒有什么變化;同一網段下的主機IP地址不能相同,且相互之間可以通信;不同網段的主機之間想要通信需要經過服務器;能被別人訪問到的服務器需要公網IP;

在通信面前我宛如一個智障……


域名與DNS解析

域名:www.baidu.com

【注】不能通過域名直接訪問到計算機,但是域名和IP有對應關系

當在瀏覽器中輸入域名并按下回車后,瀏覽器查找IP的過程:瀏覽器緩存——>本機host——>從家中的路由器開始一級一級向上尋找——>LDNS(城市級別)服務器一級一級向上找——>gDNS(全球級別)服務器。該過程中,任何階段找到域名對應的IP則直接進行訪問。


五層網絡模型

數據從客戶端傳送給服務端時,依次在數據前加上HTTP協議、TCP協議、IP協議、數據鏈路層協議和物理層協議(注,物理層協議在最外層,因為是最后加上去的),經過互聯網傳輸后到達服務器,再依次去掉協議,這里相當于堆棧,first in last out.

物理層:物理層就是硬件,網卡端口、網線等;

數據鏈路層:規定了設備之間數據傳輸的格式,即0100110001

網絡層:尋找IP地址

運輸層:向用戶提供可靠的端到端(end-to-end)服務;

應用層:為應用軟件提供了服務,實現了HTTP協議


HTTP協議

HTTP協議分為請求和響應兩部分

請求(Request

  • 請求行:請求方式 url 協議版本;
    • GET
    • POST
  • Host:訪問的域名
  • Connection:keep-alive
  • User-Agent
  • Cookie

響應(Response

  • 響應頭
  • 數據體
  • 協議版本 狀態碼 message

GET與POST的區別

這個要劃重點

1.如果沒有任何前提,不適用任何規范,只考慮語法和理論上的HTTP協議,GET和POST幾乎沒有什么區別,只有名字不一樣。

2.如果是基于RFC規范

1).理論上:GET與POST具有相同語法,但語義不同,GET是來獲取數據的,POST是提交數據的,其他方面沒有區別

2).實際上:各種瀏覽器是這個規范的實現者

常見不同

  • GET的數據在URL是可見的(注:在URL可見不意味著在瀏覽器的地址欄內可見),POST請求不顯示在URL中;
  • GET對長度是有限制的,POST長度是無限的;
  • GET請求的數據可以收藏為標簽,POST請求到的數據不可收藏為標簽;
  • GET請求后,按后退按鈕和刷新按鈕無影響,POST數據會重新被提交;
  • GET編碼類型:application/x-www-form-url,POST的編碼方式有很多種:encodeapplication/x-www-form-urlencode,或者multipart/form-data;
  • GET歷史參數會被保留到瀏覽器里,POST不會保存在瀏覽器中的;
  • GET只允許ASCII編碼,POST沒有編碼限制,允許發二進制的;
  • GET與POST相比.GET安全性較差,因為所發的數據時URL的一部分;

Cookie與Session

JS存的數據,在頁面關閉的時候就清除了,但是比如當我們登錄某寶時,關閉某一網頁,在某寶另一頁面,依舊有我們的登錄信息,這是因為有Cookie的存在,它可以持久化存儲數據,且cookie既是保存在瀏覽器里,也是存放在不同的域名下的.

我們來講解登錄的過程:

  • 初始狀態:沒有登陸;
  • 訪問百度的登錄,輸入用戶名,密碼;
  • 如果用戶名和密碼正確,百度的后端會向這個域名下設置一個cookie,寫入用戶的基本信息
  • 以后每一次向百度發送請求,瀏覽器都會自動帶上這些cookie
  • 服務端(后端)看到了帶有ID的cookie,就可以解析這個加密的ID,來獲取到這個用戶本身的ID
  • 如果能獲取到本身的ID,就證明這個用戶已經登陸過了,則后端繼續保留用戶的信息
  • :如果別人復制了你的cookie,就可以在他的電腦上登錄你的賬號了

    cookie是保存在瀏覽器中的數據,而session是將登錄信息存在服務器端,session比cookie更安全,但是如果用戶量很大的時候,很消耗服務器的資源.


    頁面

    頁面的本質是帶有HTML格式的字符串

    接下類講一下瀏覽器向服務器請求一個頁面的本質

  • 地址欄輸入www.baidu.com
  • 服務器接收到請求后,想要把這個頁面的內容(HTML格式的字符串)返回給瀏覽器
  • 頁面的字符串存在HTML文件中
  • 服務器讀取文件
  • 服務器將讀取出來的內容返回給瀏覽器
  • 最后返回的是一個字符串.這個字符串的來源可能是文件,可能是緩存,可能來自于數據庫

  • 服務器

    眾所周知,服務器是一臺計算機,這臺計算機只提供服務(不是用戶用的,一般是Linux操作系統)

    但是我們通常說的服務器實際上指的是服務容器,不是服務器

    服務容器:是一個程序,可以監聽一個端口,讀取文件,并返回

    如果我們想通過訪問服務容器的方式來訪問我們自己寫的頁面,就得安裝服務容器的程序

    大白話就是給編輯器裝個插件,我用的是VS Code,安裝的插件Live Server


    發送請求的方式

  • 在瀏覽器中直接輸入網址(無法用代碼控制)
  • location.href='url',可以發送網絡請求,但是頁面會發生跳轉
  • 帶有src屬性的標簽,可以發送網絡請求,服務端也可以處理返回數據,但是返回之后,需要瀏覽器判斷能否使用數據(頁面無法處理返回結果)
  • 帶有href屬性的標簽,可以發送網絡請求,服務端是可以處理和返回數據,但是返回之后,需要瀏覽器判斷能否使用數據(頁面無法處理返回結果)
  • 帶有action屬性的標簽,例如form表單,也可以像后端發出請求,但是發出請求后,頁面會跳轉
  • ajax解決了上述問題,可以用代碼控制,頁面不會跳轉,服務端返回的結果可以用JS繼續處理

  • ???暫時????就寫到這吧,后面講跨域吧

    超強干貨來襲 云風專訪:近40年碼齡,通宵達旦的技術人生

    總結

    以上是生活随笔為你收集整理的前端必会的网络知识的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。