從輸入URL到頁面展示

2021-09-13 09:56:36 字數 1809 閱讀 6003

這個時候有兩種情況,第一種是子網域名稱伺服器返回了這個url對應的ip位址,第二種情況是經過了cdn排程,如果目標**使用了cdn服務,則需要在cdn服務商的平台設定相應的cname記錄,這個記錄是cdn服務廠商的乙個dns伺服器的網域名稱,子網域名稱伺服器會返回這個cname記錄,本地dns伺服器得到這個記錄後,會向cdn服務廠商的dns伺服器查詢,然後cdn服務廠商的dns伺服器返回cdn服務廠商的一台gslb裝置(全域性負載均衡裝置)的ip,本地dns伺服器攜帶自身的ip位址和要查詢的網域名稱向gslb裝置發起請求,gslb裝置根據ip,以及要查詢的網域名稱,選擇一台使用者所屬區域的區域負載均衡裝置,區域負載均衡裝置根據一定的演算法和策略,會向gslb裝置返回乙個最適合的cdn節點的ip位址,比如說返回乙個距離使用者最近的cdn節點,因為cdn伺服器快取了**的源伺服器的資料,而且會像源伺服器一樣,響應使用者的請求. 而且它離使用者更近,所以能獲得更快的響應速度。最後本地dns伺服器拿到這個cdn節點的ip位址。

得到ip後,會建立tcp連線,如果是https開頭的url,還會建立ssl連線,進行乙個請求證書,生成對話金鑰的過程。

然後開始進行http請求,瀏覽器會先生成乙個http資料報,包含這次請求的資訊,主要是請求方法、請求的說明和請求附帶的資料,這個http資料報經過傳輸層,頭部加入雙方的埠資訊,被封裝成乙個tcp資料報,然後經過網路層,頭部加入雙方的ip位址資訊,被封裝成乙個ip資料報,然後經過資料鏈路層,頭部設定雙方的mac位址,封裝成乙太網資料報,最後變成二進位制資料,傳送到伺服器。

然後伺服器作出響應,返回乙個http報文給瀏覽器,這個http報文包含了狀態行,訊息報頭,訊息正文(就是html)。

然後我們再看第二種情況,如果本地有快取,瀏覽器會先判斷快取是否過期,通過expires和cache-control欄位來判斷是否命中強制快取,expires是伺服器返回該請求結果快取的到期時間,cache-control的max-age會返回乙個相對時間,因為無法確定客戶端的時間是否與服務端的時間同步,所以同時存在時,cache-control的優先順序更高。

如果強制快取失效,進行協商快取過程,瀏覽器攜帶快取標識向伺服器發起請求,由伺服器根據快取標識決定是否使用本地快取。

然後合併dom樹和cssom樹,生成render樹,從 dom 樹的根節點開始遍歷每個可見節點,忽略指令碼標記、元標記、display: none的節點,對於每個可見節點,為其找到適配的 cssom 規則並應用它們。

然後開始布局,從渲染樹的根節點開始進行遍歷,計算每個節點在網頁的確切位置和大小。

布局完成後,將渲染樹轉換成螢幕上的畫素,顯示頁面。

從url輸入到前端頁面展示

老生常談,也有可能在面試裡遇到 1.從 url 輸入到頁面展現背後發生了什麼事?2.一次完整的 http 事務是怎麼乙個過程?3.瀏覽器是如何渲染頁面的?4.瀏覽器的核心有哪些?分別有什麼代表的瀏覽器?5.重新整理頁面,js 請求一般會有哪些地方有快取處理?上邊這一連串的字元,就叫做 url uni...

從輸入URL到頁面展示到底發生了什麼?

這是乙個老生常談的問題,筆者今天對這個問題進行乙個總結。整個過程可分為4個步驟,分別如下所示 1.網域名稱解析 當我們在瀏覽器的輸入框中輸入 的時候,瀏覽器其實已經在智慧型地匹配可能的url了,它會從歷史或者書籤等地方查詢可能對應的url,給出一些智慧型提示,方便智慧型補全,部分瀏覽器甚至會直接從快...

從輸入url到頁面展示經歷了哪些過程

使用者輸入url,瀏覽器會根據使用者輸入的資訊判斷是搜尋還是 如果是搜尋內容,就將搜尋內容 預設搜尋引擎合成新的url 如果使用者輸入的內容符合url規則,瀏覽器就會根據url協議,在這段內容上加上協議合成合法的url 使用者輸入完內容,按下回車鍵,瀏覽器導航欄顯示loading狀態,但是頁面還是呈...