網路請求協議

2021-10-09 00:25:25 字數 1444 閱讀 6433

資料報在傳輸之前,會被附加上雙方的埠資訊。是通過向資料報上附加udp頭的方式實現的(udp頭中包含雙方的埠資訊和一些其他資訊)。

在使用 udp 傳送資料時,有各種因素會導致資料報出錯,雖然 udp 可以校驗資料是否正確,但是對於錯誤的資料報,udp 並不提供重發機制,只是丟棄當前的包,而且 udp 在傳送之後也無法知道是否能達到目的地。

上層把資料給傳輸層,傳輸層會給資料報加上udp頭,然後給網路層,網路層則給資料報新增ip頭,最後底層將被附加了ip/udp頭的資料傳輸給主機b,主機b在網路層解開ip頭獲取ip資料,傳輸層解開udp頭取出埠資料,最後資料交給了上層。

tcp(transmission control protocol,傳輸控制協議)是一種面向連線的、可靠的、基於位元組流的傳輸層通訊協議。

通過 tcp 頭的資訊保證了一塊大的資料傳輸的完整性。

四次揮手是指資料傳輸完畢之後,就要終止連線了,「四次揮手」來保證雙方都能斷開連線。

,所以在 http 工作開始之前,瀏覽器需要通過 tcp 與伺服器建立連線,也就是說 http 的內容是通過 tcp 的傳輸資料階段來實現的。

① 構建請求行資訊

② 查詢快取

沒查到快取的話就進入接下來的網路請求的階段了

③ 準備埠和ip位址(tcp/ip)

利用 url 位址來獲取 ip 和埠資訊

④ 等待 tcp 佇列

chrome 有個機制,同乙個網域名稱同時最多只能建立 6 個 tcp 連線,如果在同乙個網域名稱下同時有 10 個請求發生,那麼其中 4 個請求會進入排隊等待狀態,直至進行中的請求完成。

⑤ 建立 tcp 連線

就是三次握手

⑥ 傳送http請求

這個是tcp的資料傳輸階段

這個還是在tcp的資料傳輸階段

① 返回請求

② 斷開連線

就是四次揮手

① 保持 tcp 連線

如果頭資訊有:connection:keep-alive ,則連線不斷開,下次http請求可以直接進行而不用重新建立tcp連線。

② 重定向

傳送乙個不完整的url,服務端在請求行裡返回301,告訴瀏覽器重定向,重定向的位址在響應頭的location欄位裡面。瀏覽器據此重新傳送http請求。

dns 快取和頁面資源快取這兩塊資料是會被瀏覽器快取的

dns 快取比較簡單,它主要就是在瀏覽器本地把對應的 ip 和網域名稱關聯起來

① 頁面快取

什麼時候瀏覽器會將頁面快取

伺服器返回乙個響應行,裡面如果包含了cache-control,則快取頁面,後面的數字就是快取的保質期。

快取過期怎麼辦

如果快取查到了快取,但是快取過期,則瀏覽器會進入網路請求,但是在傳送請求頭時,會傳送if-none-match:「4f80f-13c-3a1xb12a」,判斷請求的資源是否有更新

② 登入狀態

簡易理解網路協議與網路請求

osi七層協議與tcp ip四層協議的對映。資料從a到b的過程 以osi模型為基礎 網路協議只是一種約定,跟技術實現沒有關係。上層協議是由下層協議增加更多的資訊形成的,這些資訊指明了資料傳送到哪台機器的哪個應用程式等。物理層 乙太網 數據機 電力線通訊 plc sonet sdh g.709 光導纖...

各個協議層的網路請求

應用層的網路請求 用requests庫,來訪問 使用requests庫來訪問 import requests def query name url parameters request requests.get url,params parameters content request.json p...

iOS開發網路篇 網路請求(HTTP協議)小結

ios開發網路篇 網路請求 http協議 小結 1.聊一下http協議 協議的完整的通訊過程 2.通訊過程 1 請求 客戶端 伺服器 請求的內容 a.請求行 請求方法 http協議 請求資源路徑 b.請求頭 描述客戶端的資訊 c.請求體 post請求才需要有,存放具體資料 2 響應 伺服器 客戶端 ...