天天看點

前端高頻面試題分享,這題答不出來面試肯定失敗。在浏覽器中輸入一個URL到頁面渲染出來的過程:1.DNS解析首先,浏覽器會

作者:程式猿一個半

前端高頻面試題分享,這題答不出來面試肯定失敗。

在浏覽器中輸入一個 URL 到頁面渲染出來的過程:

1. DNS 解析

首先,浏覽器會通過域名解析伺服器(DNS)将 URL 中的域名解析成 IP 位址。該過程包括系統緩存中查找、本地 HOST 檔案、本地 DNS 緩存、域名伺服器遞歸查詢等步驟,最終獲得伺服器的 IP 位址。

2. 建立 TCP 連接配接

有了伺服器的 IP 位址後,浏覽器會使用 HTTP 協定中的 TCP 三次握手建立與伺服器之間的連接配接,并等待伺服器響應請求。

3. 發送 HTTP 請求

接着,浏覽器會向伺服器發送一個 HTTP 請求,其中包含請求的方式(GET、POST、PUT、DELETE 等)、請求頭(User-Agent、Referer、Connection、Cookie 等)、請求體(POST、PUT 等方式才有)等資訊。

4. 伺服器響應

伺服器收到請求後,會根據請求内容等條件生成響應,并傳回給浏覽器端。響應包括狀态碼(比如 200 表示請求成功,404 表示找不到請求的資源),響應頭(Content-Type、Set-Cookie 等)、響應體(傳回的資料、HTML 頁面等)。如果伺服器傳回的是 HTML 頁面,那麼響應體就是 HTML 頁面的内容。

5. 解析渲染頁面

浏覽器收到伺服器的響應後,開始解析響應并渲染頁面。這個過程涉及 HTML、CSS、JavaScript 等多種語言和技術。首先浏覽器會解析 HTML,生成 DOM 樹;然後解析 CSS,生成 CSSOM 樹;接着解析 JavaScript,并執行其中的代碼,最後将 DOM 和 CSSOM 合并成渲染樹,然後進行布局、繪制,最終渲染出頁面。

6. 斷開連

當浏覽器完成了頁面的解析和渲染後,會向伺服器發送一個斷開連接配接的請求,伺服器也會傳回一個斷開 TCP 連接配接的響應。至此,URL 到頁面渲染的整個流程就結束了。

需要注意的是,實際的流程可能會比上面的步驟複雜,比如浏覽器的緩存機制、伺服器的負載均衡等因素都可能會對 URL 到頁面渲染的過程産生影響,但總體的流程基本上是相同的。

前端高頻面試題分享,這題答不出來面試肯定失敗。在浏覽器中輸入一個URL到頁面渲染出來的過程:1.DNS解析首先,浏覽器會
前端高頻面試題分享,這題答不出來面試肯定失敗。在浏覽器中輸入一個URL到頁面渲染出來的過程:1.DNS解析首先,浏覽器會
前端高頻面試題分享,這題答不出來面試肯定失敗。在浏覽器中輸入一個URL到頁面渲染出來的過程:1.DNS解析首先,浏覽器會

繼續閱讀