客戶端瀏覽器向伺服器發起http請求的全過程
阿新 • • 發佈:2019-01-30
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請求,都要經過上面的主要七個步驟。
(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)瀏覽器根據拿到的資源對頁面進行渲染,最終把一個完整的頁面呈現給了使用者。