經典面試題: 從輸入URL到頁面加載的過程發生了什么?


可以分為這幾個大的過程:

  1. DNS解析
  2. TCP連接
  3. 客戶端發送HTTP請求
  4. 服務器處理請求並返回HTTP報文
  5. 瀏覽器解析渲染頁面
  6. 結束

其中(1)DNS解析可以理解為主尋找這個IP地址的過程,其中如果找到IP地址會進行本地緩存,以便下次繼續使用

  (2)HTTP協議是使用TCP作為其傳輸層協議的

  (3)HTTP請求報文是由三部分組成: 請求行請求報頭請求正文

     例如請求行:GET index.html HTTP/1.1,常見的請求報頭有: Accept, Accept-Charset, Accept-Encoding, Accept-Language, Content-Type, Authorization, Cookie, User-Agent等,請求正文一般是一些需要客戶端向服務端發送的數據

  (4)HTTP響應報文也是由三部分組成: 狀態碼響應報頭響應報文

     狀態碼是由3位數組成,第一個數字定義了響應的類別,且有五種可能取值:

    • 1xx:指示信息–表示請求已接收,繼續處理。

    • 2xx:成功–表示請求已被成功接收、理解、接受。

    • 3xx:重定向–要完成請求必須進行更進一步的操作。

    • 4xx:客戶端錯誤–請求有語法錯誤或請求無法實現。

    • 5xx:服務器端錯誤–服務器未能實現合法的請求。
      平時遇到比較常見的狀態碼有:200, 204, 301, 302, 304, 400, 401, 403, 404, 422, 500(分別表示什么請自行查找)。

 

    響應報頭:常見的響應報頭字段有: Server, Connection...。

    響應報文:服務器返回給瀏覽器的文本信息,通常HTML, CSS, JS, 圖片等文件就放在這一部分。

   (5)瀏覽器一邊解析一邊渲染

   (6)結束

詳情可以參考完整文章:https://segmentfault.com/a/1190000006879700

 

      


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM