1. 程式人生 > >HTTP的連接過程

HTTP的連接過程

請求 個人理解 web log 客戶端 tps 發生 linux 我們

一.HTTP通信機制是在一次完整的HTTP通信過程中,Web瀏覽器與Web服務器之間將完成下列7個步驟:

1.域名解析

2.發起TCP的3次握手

3. Web瀏覽器向Web服務器發送http請求命令 一旦建立了TCP連接,Web瀏覽器就會向Web服務器發送請求命令。例如:GET/sample/hello.jsp HTTP/1.1。 4. Web瀏覽器發送http請求頭信息 瀏覽器發送其請求命令之後,還要以頭信息的形式向Web服務器發送一些別的信息,之後瀏覽器發送了一空白行來通知服務器,它已經結束了該頭信息的發送。 5. Web服務器應答 客戶機向服務器發出請求後,服務器會客戶機回送應答, HTTP/1.1 200 OK ,應答的第一部分是協議的版本號和應答狀態碼。
6. Web服務器發送應答頭信息 正如客戶端會隨同請求發送關於自身的信息一樣,服務器也會隨同應答向用戶發送關於它自己的數據及被請求的文檔。 7. Web服務器向瀏覽器發送數據 Web服務器向瀏覽器發送頭信息後,它會發送一個空白行來表示頭信息的發送到此為結束,接著,它就以Content-Type應答頭信息所描述的格式發送用戶所請求的實際數據。 8. Web服務器關閉TCP連接 一般情況下,一旦Web服務器向瀏覽器發送了請求數據,它就要關閉TCP連接,然後如果瀏覽器或者服務器在其頭信息加入了這行代碼: Connection:keep-alive TCP連接在發送後將仍然保持打開狀態,於是,瀏覽器可以繼續通過相同的連接發送請求。保持連接節省了為每個請求建立新連接所需的時間,還節約了網絡帶寬。

三.當我們在瀏覽器的地址欄輸入 www.linux178.com ,然後回車,回車這一瞬間到看到頁面到底發生了什麽呢?

以下過程僅是個人理解:

域名解析 --> 發起TCP的3次握手 --> 建立TCP連接後發起http請求 --> 服務器響應http請求,瀏覽器得到html代碼 --> 瀏覽器解析html代碼,並請求html代碼中的資源(如js、css、圖片等) --> 瀏覽器對頁面進行渲染呈現給用戶

參考資料:

https://www.cnblogs.com/engeng/articles/5959335.html

http://www.51testing.com/html/18/297918-865642.html

HTTP的連接過程