瀏覽器的位址列輸入url並按下回車
瀏覽器檢查當前url是否存在快取,並比較快取是否過期
dns解析url對應的ip
根據ip建立tcp連線(三次握手)
http發起請求
伺服器處理請求,瀏覽器接收http響應
渲染頁面,構建dom樹
關閉tcp連線(4次揮手)
瀏覽器快取
大體上來說,可以分為強快取和協商快取
expires: wed, 21 oct 2015 07:28:00 gmt
cache-control: max-age=30
協商快取
dns解析
dns解析實際上就是將我們熟悉的網域名稱解析成ip位址,也就是說當你在瀏覽器位址列輸入www.baidu.com時實際上訪問的是這個網域名稱對應的唯一ip位址,之所以當初要這樣設計,是因為ip位址是由純數字組成的,不便於記憶,而通過幾級網域名稱這種方式是便於我們人類記憶的。
dns解析是乙個遞迴查詢的過程,從右到左解析的,有乙個專門的dns解析伺服器,據說要經歷8個步驟,具體過程我們了解不多,就不過多解釋了。
建立tcp連線的三次握手
這一塊interviewmap講的比較詳細了
瀏覽器渲染頁面的過程
處理html並構建dom樹
處理css構建cssom樹
將dom樹和cssom樹合併成乙個渲染樹
根據渲染樹來布局,計算每個節點的位置(回流)
呼叫gpu繪製,合成圖層,顯示在螢幕上(重繪)
既然大體知道了瀏覽器從輸入url到頁面載入的過程,那就可以針對這個過程一些可優化的點做優化,這也成了前端效能優化的乙個重要部分,關於這部分,我會另寫一篇文章來總結。
interviewmap
前端快取最佳實踐
趣講cdn
從輸入URL到頁面載入,發生了什麼
整理之前的筆記時,發現之前的掌握的東西尚差的太遠,就仔細查詢了這個問題。總體來說,可以分為一下幾個部分 1.dns解析 2.tcp連線 3.傳送http請求 4.伺服器處理請求並返回http報文 5.瀏覽器解析渲染頁面 6.連線結束 dns解析是將網域名稱轉換成ip的過程,從使用者在瀏覽器位址列輸入...
從輸入URL到頁面載入發生了什麼
最近在進行前端面試方面的一些準備,看了網上許多相關的文章,發現有乙個問題始終繞不開 在瀏覽器中輸入url到整個頁面顯示在使用者面前時這個過程中到底發生了什麼。仔細思考這個問題,發現確實很深,這個過程涉及到的東西很多。這個問題的回答真的能夠很好的考驗乙個web工程師的水平,於是我自問自答一番。總體來說...
從輸入URL到頁面載入發生了什麼
tcp連線 傳送http請求 伺服器處理請求並返回http報文 瀏覽器解析渲染頁面 連線結束 系統快取主要存在 etc hosts linux系統 中 http請求 2xx 成功 表示請求已被成功接收 理解 接受。3xx 重定向 要完成請求必須進行更進一步的操作。4xx 客戶端錯誤 請求有語法錯誤或...