一個完整的HTTP過程包括建立連接、數據傳輸、斷開連接等七個步驟。
下面詳細介紹每一步:
1、TCP建立連接
HTTP協議是基於TCP協議來實現的,因此首先就是要通過TCP三次握手與服務器端建立連接,一般HTTP默認的端口號為80;
2、瀏覽器發送請求命令
在與服務器建立連接後,Web瀏覽器會想服務器發送請求命令
3、瀏覽器發送請求頭消息
在瀏覽器發送請求命令後,還會發送一些其它信息,最後以一行空白內容告知服務器已經完成頭信息的發送;
4、服務器應答
在收到瀏覽器發送的請求後,服務器會對其進行回應,應答的第一部分是協議的版本號和應答狀態碼;
5、服務器回應頭信息
與瀏覽器端同理,服務器端也會將自身的信息發送一份至瀏覽器;
6、服務器發送數據
在完成所有應答後,會以Content-Type應答頭信息所描述的格式發送用戶所需求的數據信息;
7、斷開TCP連接
在完成此次數據通信後,服務器會通過TCP四次揮手主動斷開連接。但若此次連接為長連接,那麼瀏覽器或服務器的頭信息會加入keep-alive的信息,會保持此連接狀態,在有其它數據發送時,可以節省建立連接的時間;
閱讀更多 混在軟件圈 的文章