從輸入URL到渲染頁面發生了什麼?

2021-09-24 17:00:35 字數 1148 閱讀 7400

網域名稱解析

發起tcp三次握手建立連線

建立連線後發起http請求

伺服器響應請求,瀏覽器獲取html原始碼

瀏覽器渲染頁面

然後先上一張比較直觀的圖

因為 http是不是一種面向連線的協議,在應用層中,僅僅是生成了http請求的資訊和資料,但無法直接傳送,所以才需要先建立tcp連線。tcp在將http請求資訊傳送之前,會將其分割,並在各個報文上打上標記,然後繼續傳送給網路層。

伺服器收到http請求後,後台開始工作,如負載平衡,跨域等,然後生成響應資料報(響應頭和相應體),發給客戶端,客戶端(瀏覽器)開始解析和渲染:

開始解析html檔案,當然是自上而下,先是頭部,後是body;

計算渲染樹的布局 --- 渲染樹一旦有結構模型了,接著就會同步去計算渲染樹節點的布局位置;

繼續渲染;

渲染完畢,執行onload

先在瀏覽器快取本地host檔案查詢。如果沒有,就在本地dns伺服器查詢,如果也沒有,就開始依次向根網域名稱伺服器快取,頂級網域名稱伺服器快取,主網域名稱伺服器快取傳送請求,每到乙個伺服器都會先查快取。

遞迴解析:客戶端發出請求(example.microsoft.com)給本地dns伺服器之後,就開始一直處於等待狀態。然後本地伺服器向根網域名稱伺服器查詢.com的位址,然後到頂級名稱伺服器中查詢microsoft.com的位址,然後到二級名稱伺服器中查詢example.microsoft.com的位址,最終找到權威名稱伺服器,裡面就存放了example.microsoft.com的ip位址。

迭代(反覆)解析:與迭代解析的區別是,本地網域名稱伺服器不再作為乙個**,而是只負責查詢本地快取,若快取沒有,則告訴客戶端應該去哪些伺服器查詢,如下:

輸入URL位址到最終頁面渲染完成,發生了什麼事

1.url輸入回車 2.dns解析 解析什麼?變成什麼 url 相對伺服器的ip位址 伺服器的ip位址 3.瀏覽器網路向相應伺服器傳送tcp ip連線請求 三次握手 4.建立tcp ip連線 5.瀏覽器網路發起http請求 6.等待 響應過程 wariting 8.解析html 四次揮手 10.時間...

從輸入URL到頁面渲染發生了什麼

例如 從輸入到頁面渲染發生了下方如圖的事情。詳細的過程 1 客戶端將url輸入到瀏覽器位址列,向dns伺服器請求獲取指定網域名稱的ip位址 2 dns伺服器解析從客戶端發來的網域名稱,獲取到對應的ip位址,將ip位址傳回到客戶端 3 客戶端獲取到ip位址後,在應用層按照http協議,生成針對目標we...

從輸入url到頁面顯示內容的過程發生了什麼

瀏覽器通過輸入的url來解析要請求的是什麼協議,構建請求報文,這裡要構建的就是http請求報文。http請求報文包括報文首部和報文主體,對請求報文來說,報文首部包括請求行和各種首部字段 而對響應報文來說,報文首部包括狀態行和各種首部字段。請求行 get http 1.1 請求方法和相應的協議 狀態行...