HTTP請求頭和響應頭詳解

白豆五發表於2020-10-14

HTTP 請求報文由3部分組成(請求行+請求頭+請求體)

在這裡插入圖片描述

HTTP請求報文


  • 1是請求方法,GET和POST是最常見的HTTP方法,初次以外還包括 DELETE、HEAD、OPTIONS、PUT、TRACE,不過現在大部分的瀏覽器只支援GET和POST

  • 2是請求對應的URL地址,他和報文頭的Host屬性,組合起來是一個完整的請求URL

  • 3是協議民稱和版本號

  • 4是報文頭,有若干個屬性,形式為key:val,服務端據此獲取客戶端資訊

  • 5是報文體,它將一個頁面表單中的元件值通過param1=val1&parma=2的鍵值對形式編碼成一個格式化串,它承載多個請求引數的資料,不但報文頭可以傳遞請求引數,URL也可以通過/chapter15/user.html? param1=value1&param2=value2”的方式傳遞數值


HTTP請求報文頭屬性


什麼是報文頭屬性呢,報文頭屬性有什麼用呢?

比如說吧,當你在公司cv程式碼的時候,突然之間餓意來襲,你就打電話,讓樓下的餐館送個外賣,你給老闆說:老闆,給我來個最便宜的蓋飯,送到xxx,我叫屌絲碼農

這裡你要的蓋飯相當於報文體,而我叫屌絲碼農這種資訊就相當於報文體,他是一些附屬屬性,為的是讓你們的交易更加順利.

所以HTTP的報文頭的屬性,就是為啦讓客戶端和瀏覽器端更加便捷、順利 !!!


常見的HTTP報文頭屬性


  • Accpet

    • 告訴服務端,客戶端接收什麼型別的響應
  • Referer

    • 表示這是請求是從哪個URL進來的,比如想在網上購物,但是不知道選擇哪家電商平臺,你就去問度娘,說哪家電商的東西便宜啊,然後一堆東西彈出在你面前,第一給就是某寶,當你從這裡進入某寶的時候,這個請求報文的Referer就是www.baidu.com
  • Cache-Control

    • 對快取進行控制,如一個請求希望響應的內容在客戶端快取一年,或不被緩可以通過這個報文頭設定
  • Accept-Encoding

    • 這個屬性是用來告訴伺服器能接受什麼編碼格式,包括字元編碼,壓縮形式(一般都是壓縮形式)

      • 例如:Accept-Encoding:gzip, deflate(這兩種都是壓縮格式)
  • Host

    • 指定要請求的資源所在的主機和埠
  • User-Agent 作用:告訴伺服器,客戶端使用的作業系統、瀏覽器版本和名稱


HTTP響應報文


響應報文與請求報文一樣,由三個部分組成(響應行,響應頭,響應體)

在這裡插入圖片描述

  • 1報文協議及版本;

  • 2狀態碼及狀態描述;

  • 3響應報文頭,也是由多個屬性組成;

  • 4響應報文體,即我們要的資料。


HTTP狀態碼


在這裡插入圖片描述

簡單說下常見的幾個狀態碼

  • 200 OK 表示成功

  • 303 重定向,把你重定向到其他頁面

  • 304 資源並未修改,可以直接使用本地的快取

  • 404 找不到頁面(頁面被刪除或其他)

  • 500 服務端錯誤


HTTP響應報文屬性


  • Cache-Control

    • 響應輸出到客戶端後,服務端通過該屬性告訴客戶端該怎麼控制響應內容的快取
  • ETag

    • 表示你請求資源的版本,如果該資源發生啦變化,那麼這個屬性也會跟著變
  • Location

    • 在重定向中或者建立新資源時使用
  • Set-Cookie

    • 服務端可以設定客戶端的cookie

更多常用請求頭和響應頭屬性


https://www.cnblogs.com/widget90/p/7650890.html

相關文章