http是乙個簡單的請求-響應模式的協議。
中文名稱是超文字傳輸協議,主要作用就是規定瀏覽器與伺服器之間如何通訊以及請求響應資料報的格式。
http協議是基於tcp/ip協議基礎之上進行的,並且http協議是應用層協議。
tcp是一種面向連線的、可靠安全的、基於位元組流的傳輸層協議。tcp中文名稱是傳輸控制協議。屬於傳輸層協議。
http的三次握手、四次揮手,也可以認為是tcp的三次握手、四次揮手。
第一次:瀏覽器首先傳送syn給伺服器,請求和伺服器建立連線。
第二次:伺服器接收到syn碼後,傳送syn+ack碼給瀏覽器,告訴瀏覽器已建立連線。
第三次:瀏覽器接收ack碼,驗證是否正確,若正確是建立資料連線,可以進行資料傳輸。
第一次:瀏覽器傳送fin碼給伺服器,告訴伺服器,資料傳輸完成。
第二次:伺服器接收到fin碼,然後傳送ack碼給瀏覽器,告訴瀏覽器,你可以斷開連線。
第三次:伺服器繼續傳送fin+ack碼,告訴瀏覽器我的資料傳送完畢。
第四次:瀏覽器接收到fin+ack碼之後,同樣會傳送ack碼給伺服器,告訴伺服器,我已接收到,你可以斷開連線。
防止瀏覽器建立連線失敗,從而導致伺服器建立了無效的連線,造成系統的開銷。
第二次伺服器給瀏覽器傳送ack碼時,如果瀏覽器連線建立成功,則告訴伺服器,我已建立連線,你也可以建立連線啦。如果第二次瀏覽器建立連線失敗,則伺服器不會建立連線,這樣就可以避免建立無效的連線。
三次握手是因為,第二次時候,伺服器不需要準備資料,此時伺服器是將syn+ack碼在一次握手中,一起傳送給瀏覽器的。
而四次握手,第二次伺服器接收到fin碼,伺服器需要準備資料,此時可能還有資料要接收,所以先傳送了ack碼給瀏覽器,告訴瀏覽器,我已知曉你的斷開連線請求,伺服器接收完資料之後,再次傳送fin+ack碼,告訴瀏覽器,資料接收完畢,可以斷開連線。
http協議 三次握手 四次揮手
1.第一次握手 客戶端向伺服器傳送建立 客戶端向伺服器通道的請求 2.第二次握手 伺服器同意建立連線 並傳送 建立伺服器向客戶端建立連線的請求 3.第三次握手 客戶端同意建立連線 1.第一握手 客戶端在傳送資料完成之後,向伺服器傳送斷開客戶端向的連線請求 2.第二次握手 伺服器同意客戶端斷開連線請求...
Http 協議的三次握手,四次揮手
關於http協議,了解也不多。原來就知道其請求方式有get post 這兩種,其餘的都不太了解。但是最近,正好被問到關於http協議中的三次握手,四次揮手。自己下來了解學習了。下面分享,其中有不足。也希望大家提出 問什麼要三次握手,四次揮手 其實http協議本質上就是為了讓客戶端和服務端能夠建立安全...
http三次握手 HTTP三次握手,四次揮手。
三次握手 首先解析伺服器dns,找到ip,然後開始建立連線 1.第一次握手 建立連線,客戶端a傳送syn 1 隨機產生seq client isn的資料報到伺服器b,等待伺服器確認。2.第二次握手 伺服器b收到請求後確認聯機 可以接受資料 發起第二次握手請求,ack a的seq 1 syn 1,隨機...