1. 程式人生 > >客戶端瀏覽器向伺服器發起http請求的全過程

客戶端瀏覽器向伺服器發起http請求的全過程

http協議的參考:http://blog.csdn.net/hefeng6500/article/details/75081047

(1)瀏覽器先搜尋自身的DNS快取


(2)作業系統搜尋自身的DNS快取(瀏覽器沒有找到快取或者快取已經失效)


(3)讀取本地的HOST檔案


(4)瀏覽器發起一個DNS的一個系統呼叫


         寬頻運營商伺服器檢視本身快取


         檢視本身快取,沒有?--->運營商伺服器發起一個迭代DNS解析的請求

運營商伺服器向根域伺服器發起請求xxx.com的ip地址是多少?根域回覆:我不知道,但我知道com域頂級域名的ip地址,你問它;
運營商伺服器向com域頂級域名伺服器請求xxx.com的ip地址是多少?com域伺服器回覆:我不知道,但我知道xxx.com這個域的ip地址;
運營商伺服器xxx.com這個域伺服器(域名的註冊商提供的)發起請求xxx.com的ip地址是多少?xxx.com這個域伺服器:結果傳送給運營商DNS伺服器,
運營商DNS伺服器拿到了ip地址,返回給作業系統核心,再返回給瀏覽器;


         運營商伺服器把結果返回作業系統核心同時快取起來


         作業系統核心把結果返回瀏覽器


         瀏覽器就拿到了www.imooc.com的IP地址
(5)瀏覽器獲得域名對應的IP地址後,發起HTTP“三次握手”


(6)TCP/IP連結建立起來後,瀏覽器就可以向伺服器傳送HTTP請求了


(7)伺服器端接受到了這個請求,根據路徑引數,經過後端的一些處理之後,把處理後的結果資料返回給瀏覽器,比如頁面完整的html程式碼等返回給瀏覽器


(8)瀏覽器拿到了完整的html程式碼後,在解析和渲染這個頁面的時候,裡面的JS,CSS,圖片靜態資源,他們同樣也是一個個http請求,都要經過上面的主要七個步驟。


(9)瀏覽器根據拿到的資源對頁面進行渲染,最終把一個完整的頁面呈現給了使用者。