從瀏覽器地址欄輸入url到頁面呈現

舉個栗子,從瀏覽器地址欄輸入https://www.baidu.com 到頁面呈現百度頁面呈現css

1.從DNS中獲得連接ip地址html

  ①從瀏覽器DNS緩存瀏覽器

  ②從系統DNS緩存中去,本機系統hosts文件中若是有映射,就返回映射的ip地址緩存

  ③從局域網路由器中DNS緩存獲取映射地址服務器

  ④從DNS服務器緩存獲取映射地址dom

  ⑤服務器中查找,com->baidu->www佈局

2.TCP鏈接,三次握手3d

  ①瀏覽器發起,詢問服務器是否支持響應htm

  ②服務器發起,回覆瀏覽器已準備,能夠響應,正在等待blog

  ③瀏覽器接收到後,發起確認ok信號,告訴服務器,瀏覽器準備發送數據

3.數據請求(http請求)階段

  瀏覽器:請求行、請求頭、請求體

  服務器:響應行、響應頭、響應體

4.瀏覽器處理頁面響應階段

  解析按瀏覽器內置的各自解析器遵循ast(抽象語法樹)規則進行解析

  ①html先加載,由瀏覽器html解析器解析,生成dom樹

  ②遇到style或link樣式,由css解析器解析,生成cssom樹

  ③script標籤,由js引擎解析並執行js邏輯

  ④dom樹和cssom樹結合生成渲染樹

  ⑤若是js邏輯有修改dom或者css,則dom樹和cssom樹變化從新合成渲染樹

  ⑥瀏覽器根據渲染樹計算佈局和各自節點的幾何信息,而後繪製到屏幕

5.斷開鏈接,TCP四次揮手

  ①瀏覽器發起,告訴服務器,請求的內容發送完,關閉發請求,準備結束

  ②服務器發起,告訴瀏覽器,請求的內容我接收完,關閉接收請求。

  ③服務器發起,告訴瀏覽器,響應的內容發送完,響應要關閉結束

  ④瀏覽器發起,告訴服務器,響應的內容也接收完了,關閉接收響應。

相關文章
相關標籤/搜索