瀏覽器學習筆記 05 導航流程

2022-06-22 04:24:11 字數 1059 閱讀 3365

從圖中可以看出,整個過程需要各個程序之間的配合,所以在開始正式流程之前,我們還是先來快速回顧下瀏覽器程序、渲染程序和網路程序的主要職責。

1.瀏覽器程序主要負責使用者互動、子程序管理和檔案儲存等功能。

通過分析,這個過程可以大致描述為如下:

首先,使用者從瀏覽器程序裡輸入請求資訊。

當使用者在位址列中輸入乙個查詢關鍵字時,位址列會判斷輸入的關鍵字是搜尋內容,還是請求的 url。

如果是搜尋內容,位址列會使用瀏覽器預設的搜尋引擎,來合成新的帶搜尋關鍵字的 url。

如果判斷輸入內容符合 url 規則,那麼位址列會根據規則,把這段內容加上協議,合成為完整的 url

然後,網路程序發起 url 請求。

瀏覽器程序會通過程序間通訊(ipc)把 url 請求傳送至網路程序,網路程序接收到 url 請求後,會在這裡發起真正的 url 請求流程。那具體流程是怎樣的呢?

首先,網路程序會查詢本地快取是否快取了該資源。如果有快取資源,那麼直接返回資源給瀏覽器程序;如果在快取中沒有查詢到資源,那麼直接進入網路請求流程。這請求前的第一步是要進行 dns 解析,以獲取請求網域名稱的伺服器 ip 位址。如果請求協議是 https,那麼還需要建立 tls 連線。

接下來就是利用 ip 位址和伺服器建立 tcp 連線。連線建立之後,瀏覽器端會構建請求行、請求頭等資訊,並把和該網域名稱相關的 cookie 等資料附加到請求頭中,然後向伺服器傳送構建的請求資訊。

伺服器接收到請求資訊後,會根據請求資訊生成響應資料(包括響應行、響應頭和響應體等資訊),並發給網路程序。等網路程序接收了響應行和響應頭之後,就開始解析響應頭的內容了

伺服器響應 url 請求之後,瀏覽器程序就又要開始準備渲染程序了。

渲染程序準備好之後,就需要通知瀏覽器程序:「我已經準備好了,可以向使用者展示頁面狀態了」,我們把這個渲染程序通知瀏覽器程序的階段,稱為「提交文件」階段。

瀏覽器程序接收到渲染程序「提交文件」的訊息之後,便開始移除之前舊的文件,然後通知渲染程序「文件已提交」,此時渲染程序便進入了「解析頁面」階段。

瀏覽器執行流程

具體可檢視 程序與執行緒的乙個簡單解釋 阮一峰的網路日誌 以chrome為例。瀏覽器包含執行緒 js引擎執行緒 事件觸發執行緒 定時觸發器執行緒 當計時完成被觸發,事件會被新增到事件佇列,等待js引擎空閒了執行 注意 w3c的html標準中規定,settimeout中低與4ms的時間間隔算為4ms ...

瀏覽器 HTTP SSL HTTPS執行流程

當在瀏覽器中輸入url後,頁面載入完成的過程中都發生了什麼事情 1 解析url 檢查這些請求是https還是http,如果是https的話則使用https協議進行訪問,否則使用http協議傳送。有些情況下,第乙個請求不是https的,但是當瀏覽器向 發出第乙個http請求之後,會返回瀏覽器乙個響應,...

瀏覽器CA認證流程

服務方 s 向第三方機構ca提交公鑰 組織資訊 個人資訊 網域名稱 等資訊並申請認證 ca 通過線上 線下等多種手段驗證申請者提供資訊的真實性,如組織是否存在 企業是否合法,是否擁有網域名稱的所有權等 如資訊審核通過,ca 會向申請者簽發認證檔案 證書。證書包含以下資訊 申請者公鑰 申請者的組織資訊...