1.一個頁面從輸入URL到頁面加載顯示完成,這個過程中都發生了什么?
分為4個步驟:
1、當發送一個URL請求時,不管這個URL是Web頁面的URL還是Web頁面上每個資源的URL,
瀏覽器都會開啟一個線程來處理這個請求,同時在遠程DNS服務器上啟動一個DNS查詢。
這能使瀏覽器獲得請求對應的IP地址。
2、瀏覽器與遠程Web服務器通過TCP三次握手協商來建立一個TCP/IP連接。
該握手包括一個同步報文,一個同步-應答報文和一個應答報文,這三個報文在 瀏覽器和服務器之間傳遞。
該握手首先由客戶端嘗試建立起通信,而后服務器應答并接受客戶端的請求,最后由客戶端發出該請求已經被接受的報文。
3、一旦TCP/IP連接建立,瀏覽器會通過該連接向遠程服務器發送HTTP的GET請求。
遠程服務器找到資源并使用HTTP響應返回該資源,值為200的HTTP響應狀態表示一個正確的響應。
4、此時,Web服務器提供資源服務,客戶端開始下載資源。
請求返回后,便進入了我們關注的前端模塊:
簡單來說,瀏覽器會解析HTML生成DOM Tree,其次會根據CSS生成CSS Rule Tree,而javascript又可以根據DOM API操作DOM;
2.說說瀏覽器本地存儲?