欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

一次完整的http請求過程是怎樣的?

林國瑞2年前15瀏覽0評論

謝邀~

我們打開瀏覽器,在地址欄輸入\www.wukong.com\,幾秒后瀏覽器打開悟空問答的頁面,那么這幾秒鐘內發生了哪些事情,我就帶大家一起看看完整的流程:

解析URL

瀏覽器首先會對輸入的URL進行驗證,如果不合法的時候,那么會把輸入的文字傳給默認的搜索引擎,比如你只在地址欄輸入“悟空問答”幾個字。

如果URL通過驗證,那么可以解析得到協議(http或者https)、域名(wukong)、資源(首頁)等信息。

DNS查詢

  • 瀏覽器會先檢查域名信息是否在緩存中。

  • 再檢查域名是否在本地的Hosts文件中。

  • 如果還不在,那么瀏覽器會向DNS服務器發送一個查詢請求,獲得目標服務器的IP地址。

TCP封包及傳輸

這時候瀏覽器獲得了目標服務器的IP(DNS返回)、端口(URL中包含,沒有就使用默認),瀏覽器會調用庫函數socket,生成一個TCP流套接字,也就是完成了TCP的封包。

TCP封包完成之后,就可以傳輸了,在完成“你瞅啥”,“瞅你咋地”,“來,過來嘮嘮”一系列操作之后,瀏覽器和服務器就完成了TCP的三次握手,建立了連接,后面就可以請求服務器資源了。

服務器接收請求并相應

  • HTTP有很多請求方法,比如:GET/POST/PUT/DELETE等等,我們瀏覽器輸入URL這種,是GET方法。

  • 服務器接收到GET請求,服務器根據請求信息,獲得相應的相應內容。例如我們輸入的是:\www.wukong.com\,那么意味著訪問首頁文件。

瀏覽器解析并渲染

瀏覽器從服務器拿到了想要訪問的資源,大多數時候,這個資源就是HTML頁面,當然也可能是一個其他類型的文件。

  • 瀏覽器先對HTML文檔進行解析,生成解析樹(以DOM元素為節點的樹)。

  • 加載頁面的外部資源,比如JS、CSS、圖片。

  • 遍歷DOM樹,并計算每個節點的樣式,最終完成渲染,變成我們看到的頁面。

這次請求響應之后,會斷開連接,就這樣,完成了一次HTTP的請求。

我將持續分享Java開發、架構設計、程序員職業發展等方面的見解,希望能得到你的關注。