回覆列表
  • 1 # 使用者7724478402265

    網頁載入過程詳解  網頁載入的詳細步驟拆分:  1、使用者開啟url連結  2、瀏覽器查詢url的dns地址  3、提交url請求到伺服器端  4、伺服器端處理  5、傳輸處理好的html文字內容到瀏覽器  6、瀏覽器解析html,並載入css,js,圖片等內容  7、載入完成,使用者看到完整的頁面內容  其中第六步的瀏覽器解析過程將是前端最佳化最直接、有效的地方,該過程的詳細過程為:接受網路資料-》將二進位制碼變成字元-》將字元變為unicode code points.-》tokenizer -》tree constructor -》DOM ready -》Window ready。前端程式設計,主要理解的是tree constructor -> dom ready -> window ready的流程。  瀏覽器載入和渲染html的順序  1. IE下載的順序是從上到下,渲染的順序也是從上到下,下載和渲染是同時進行的。  2. 在渲染到頁面的某一部分時,其上面的所有部分都已經下載完成(並不是說所有相關聯的元素都已經下載完)。  3. 如果遇到語義解釋性的標籤嵌入檔案(JS指令碼,CSS樣式),那麼此時IE的下載過程會啟用單獨連線進行下載。  4. 樣式表在下載完成後,將和以前下載的所有樣式表一起進行解析,解析完成後,將對此前所有元素(含以前已經渲染的)重新進行渲染。  5. JS、CSS中如有重定義,後定義函式將覆蓋前定義函式。  JS的載入(js是單線下載和執行的)  1. 不能並行下載和解析(阻塞下載)。  2. 當引用了JS的時候,瀏覽器傳送1個js request就會一直等待該request的返回。因為瀏覽器需要1個穩定的DOM樹結構,而JS中很有可能有  程式碼直接改變了DOM樹結構,比如使用 document.write 或 appendChild,甚至是直接使用的location.href進行跳轉,瀏覽器為了防止出現JS修  改DOM樹,需要重新構建DOM樹的情況,所以 就會阻塞其他的下載和呈現.

  • 中秋節和大豐收的關聯?
  • 你知道巴菲特究竟留給三個孩子多少財富嗎?