一個HTTP刷掉80%面試者

前言

今天這篇文章,老師認為可以幫大家更好更全面地瞭解HTTP,以及幫大家應對面試過程中的相關問題,大家可以收藏日後認真學習並加強鞏固,不要讓HTTP成為阻礙面試通過的絆腳石。

起因

面試官:請問你瞭解HTTP協議嗎?

前端開發:這不是應該後端清楚的嗎?

後端開發:這不是前端知道的嗎?

面試官:……

我們先一本正經的來了解下HTTP(不包含傳輸層TCP),然後總結其中的精華回覆面試官。

HTTP協議簡介

HTTP(超文本傳輸協議)是應用層上的一種客戶端/服務端模型的通信協議,它由請求和響應構成,且是無狀態的。(暫不介紹HTTP2)

  • 協議
  • 協議規定了通信雙方必須遵循的數據傳輸格式,這樣通信雙方按照約定的格式才能準確的通信。
  • 無狀態
  • 無狀態是指兩次連接通信之間是沒有任何關係的,每次都是一個新的連接,服務端不會記錄前後的請求信息。
  • 客戶端/服務端模型


一個HTTP刷掉80%面試者


五層網絡模型

一個HTTP刷掉80%面試者


URL構成

用了這麼久,你注意過嗎?

一個HTTP刷掉80%面試者


協議內容

請求(Request)

客戶端發送一個HTTP請求到服務端的格式:

  • 請求行
  • 請求頭
  • 請求體


一個HTTP刷掉80%面試者


響應(Response)

服務端響應客戶端格式:

  • 狀態行
  • 響應頭
  • 響應體


一個HTTP刷掉80%面試者


狀態碼

HTTP狀態碼由三個十進制數字組成,第一個十進制數字定義了狀態碼的類型,後兩個數字沒有分類的作用。HTTP狀態碼共分為5種類型:

一個HTTP刷掉80%面試者


更詳細的狀態碼可查看 HTTP狀態碼

但一般我們只需要知道幾個常見的就行,比如 200,400,401,403,404,500,502.

請求方法

截止到HTTP1.1共有下面幾種方法:

一個HTTP刷掉80%面試者


請求和響應常見通用頭

一個HTTP刷掉80%面試者


注意

Content-Type,內容類型,一般是指網頁中存在的Content-Type,用於定義網絡文件的類型和網頁的編碼,決定瀏覽器將以什麼形式、什麼編碼讀取這個文件。

常見的媒體格式類型如下:

一個HTTP刷掉80%面試者


以application開頭的媒體格式類型:

一個HTTP刷掉80%面試者


常見請求頭

一個HTTP刷掉80%面試者


常見響應頭

一個HTTP刷掉80%面試者


總結

清楚的知道這些內容,不僅僅是為了應對面試官,而是能實實在在的提高自己的效率,這一點在前後端聯調接口最明顯,當你在應用中去請求其他接口或轉發請求時這些也是要知道的。不然出現問題的概率會大大提高。了


分享到:


相關文章: