瀏覽器先查看瀏覽器緩存-系統緩存-路由器緩存,若緩存中有,請略過中間步驟,直接跳到第9步~若沒有,則按照下面的步驟進行操做。javascript
瀏覽器從url中解析出服務器的主機名,並將主機名轉換成服務器的IP地址。PS:DNS查找域名的過程css
瀏覽器從url中解析出端口號,默認80html
瀏覽器創建一條與服務器的tcp鏈接(創建過程:三次握手)。
PS:一個完整的TCP鏈接java
瀏覽器經過tcp鏈接向服務器發送http請求,請求數據包。瀏覽器
服務器處理HTTP請求,返回響應。緩存
瀏覽器檢查HTTP響應是否爲一個重定向(3XX結果狀態碼)、一個驗證請求(401)、錯誤(4XX、5XX)等等,這些都須要根據具體狀況分類處理。PS:瀏覽器對於常見HTTP狀態碼的反應服務器
瀏覽器接收HTTP響應而且可能關掉TCP鏈接,或者是從新創建鏈接使用新情求,得到新響應。異步
瀏覽器解碼響應,若是響應能夠緩存,則存入緩存。tcp
瀏覽器顯示HTML頁面。url
瀏覽器發送請求獲取嵌入在HTML中的資源(html,css,javascript,圖片,音樂······),對於未知類型,會彈出對話框。
瀏覽器發送異步請求。
頁面所有渲染結束。