一、DNS解析:將域名地址解析爲IP地址javascript
-瀏覽器DNS緩存css
-系統DNS緩存java
-路由器DNS緩存瀏覽器
-網絡運營商DNS緩存緩存
-遞歸搜索:blog.baidu.com服務器
-.com於明霞查找DNS解析網絡
-.baidu於明霞查找DNS解析dom
-blog於明霞查找DNS解析佈局
-再找不到就出錯了blog
二、TCP鏈接(和服務器創建鏈接):TCP三次握手
-第一次,由瀏覽器發起,告訴服務器我要發送請求了!
-第二次,由服務器發起,告訴瀏覽器我準備接收了,你趕忙發吧
-第三次,由瀏覽器發送,告訴服務器,我立刻就發了,準備接受吧
三、發送請求
-請求報文:HTTP協議的通訊內容
四、接收相應
-響應報文
五、渲染頁面
-碰見HTML標記,瀏覽器調用HTML解析器解析成Token並構建成dom樹
-碰見style/link標記,瀏覽器調用gcss解析器,處理css標記並構建cssom樹
-碰見script標記,調用javascript解析器,處理script代碼(綁定事件,修改dom樹,cssom樹)
-將dom樹和cssom樹合併成一個渲染樹
-根據渲染樹來計算佈局,計算每隔節點的集合信息(佈局)
-將每一個節點顏色會知道屏幕上(渲染)
注意:
這五個步驟不必定按照順序執行,若是dom樹或cssom樹都修改了(請求報文),可能會執行屢次佈局和渲染
每每實際頁面中,這些步驟都會執行屢次的。
六、斷開鏈接:TCP四次揮手
-第一次揮手:由瀏覽器發起的,發送給服務器,我東西發送完了(請求報文),你準備關閉吧
-第二次揮手:由服務器發起的,告訴瀏覽器,我東西接受完了(請求報文),我準備關閉了,你也準備吧
-第三次揮手:由服務器發起,高速瀏覽器,我東西發送完了(響應報文),你準備關閉吧
-第四次揮手:由瀏覽器發起,告訴服務器,我東西接受完了,我準備關閉了(響應報文),你也準備關閉吧。