1. 程式人生 > >關於瀏覽器的一些知識

關於瀏覽器的一些知識

ESS afa 服務 並且 接收 瀏覽器 javascrip 網址 ios

瀏覽器有很多的功能,可以分為以下幾個部分:

  • 1. 人機交互部分(UI)
    2. 網絡請求部分(Socket)
    3. JavaScript 引擎部分(解析執行JavaScript)
    4. 渲染引擎部分(渲染HTML、css等)
    5. 數存儲部分(cookie、HTML5中的本地存儲LocalStorage、SessionStorage)

在渲染引擎(又叫排版引擎或瀏覽器內核)部分

主流的瀏覽器引擎有:

1. Chrome 瀏覽器 :Blink引擎(WebKit的一個分支)

   2. Safari 瀏覽器:WebKit引擎

   3. FireFox 瀏覽器 :Gecko引擎

   瀏覽器工作原理:

  1. 解析HTML構建DOM樹

   2. 構建渲染樹

   3. 對渲染樹進行布局

   4. 繪制渲染樹,調用操作系統底層API進行繪圖操作

下面來兩幅圖來幫助理解一下:

技術分享圖片

技術分享圖片

  


瀏覽器訪問網站的過程

  1. 在瀏覽器地址欄中輸入網址
  2. 瀏覽器通過用戶在地址欄中輸入的URL構建HTTP請求報文
  3. 瀏覽器發起DNS解析請求,將域名轉化為IP地址
  4. 瀏覽器將請求報文發送給服務器
  5. 服務器接收報文並解析
  6. 服務器處理用戶請求,並將處理結果封裝成HTTP響應報文
  7. 服務器將HTTP響應報文發送給瀏覽器
  8. 瀏覽器接收服務器相應的HTTP報文,並解析
  9. 瀏覽器解析HTML頁面並展示,在解析HTML頁面時遇到新的資源需要再次發起請求
  10. 最終瀏覽器展示出了頁面


WEB開發的本質

1. 請求:客戶端發起請求

2. 處理:服務器處理請求

3. 相應:服務器將處理結果發送給客戶端

4. 客戶端處理響應:在服務器響應完畢後,客戶端繼續處理:

  • 瀏覽器:解析服務器返回的數據
  •   IOS、Android客戶端,解析服務器返回的數據,並且通過IOS或Android的UI技術實現界面的展示功能

C/S: 客戶端服務器(如:QQ客戶端)

B/S:  瀏覽器服務器

技術分享圖片

B/S 模式開發:易於維護,但用戶體驗不佳

C/S 模式開發:不易於維護,但是與服務器連接穩定,用戶體驗好

關於瀏覽器的一些知識