常見Http首部欄位

zhangfaliang發表於2018-12-27

作為前端的程式碼猿,在面試中避免不了別問道http首部欄位,有些小夥伴可能就會感到害怕?,心想我那知道這些啊,哈哈,有關tcp/ip協議裡面的這些問題在面試中經常被問道

tcp三次握手策略

響應欄位的含義

http與https的差別

http的缺點

https是這麼實現加密通訊的

https的通訊流程 

廢話不都說我們們就看看http/1.1中常見的一些首部欄位,大家做好準備常用的欄位挺多的,大概有47個 ?一聽見這個數字大家就會嚇一跳what這麼多,莫怕夥計們,其實按類別的是很好區分的。

我們們不著急看著40幾個首部欄位我們們先了解一下首部欄位是幹什麼的,其實首部欄位是用來傳遞重要資訊的,首部欄位是構成報文的要素之一。若http首部欄位重複了會如何,現在在tcp/ip協議上邊還沒有明確的規範定義,使用第一次出現的還是後者出現的欄位,其實組要還是根據瀏覽器的邏輯來決定的,有的瀏覽器時首先處理第一次出現的首部欄位,而有些則處理最後一次出現的首部地段。


剛才我們們談到了首部欄位大概是40多個,莫怕,這些欄位是進行分類的,根據首部欄位實際用途分為4中型別。

  • 通用首部欄位(General Header Fields) 請求和響應報文兩方都會使用的首部欄位。
  • 請求首部欄位(Reauest Header Fields)客戶端向伺服器傳送請求的報文時使用的首部。補充了請求的附加內容、客戶端資訊、響應內容相關的優先等級資訊。
  • 響應首部欄位(Response Header Fields)從伺服器向客戶端響應時使用的欄位,補充響應的附加內容,也會要求客戶端附加額外資訊
  • 實體首部欄位(Entiy Header Fields) 針對請求報文和響應報文的實體部分使用首部。補充了資源內容更新時間等實體有關的資訊。

下面簡介http/1.1的首部欄位,如果想看詳細說明請點選《通用首部欄位詳解》、《請求首部欄位詳解》、《響應首部欄位》、《實體首部欄位詳解》


1、 http\1.1 通用首部欄位

1.1 Cache-Control  控制快取

1.2 Connection 連線管理、逐條首部

1.3 Upgrade  升級為其他協議

1.4 via 代理伺服器的相關資訊

1.5 Wraning 錯誤和警告通知

1.6 Transfor-Encoding 報文主體的傳輸編碼格式

1.7 Trailer 報文末端的首部一覽

1.8 Pragma 報文指令

1.9 Date 建立報文的日期

2、http/1.1 請求首部欄位

2.1 Accept 客戶端或者代理能夠處理的媒體型別

2.2 Accept-Encoding 優先可處理的編碼格式

2.3 Accept-Language 優先可處理的自然語言

2.4 Accept-Charset 優先可以處理的字符集

2.5 If-Match 比較實體標記(ETage)

2.6 If-None-Match 比較實體標記(ETage)與 If-Match相反

2.7 If-Modified-Since 比較資源更新時間(Last-Modified)

2.8 If-Unmodified-Since比較資源更新時間(Last-Modified),與 If-Modified-Since相反

2.9 If-Rnages 資源未更新時傳送實體byte的範圍請求

2.10 Range 實體的位元組範圍請求

2.11 Authorization web的認證資訊

2.12 Proxy-Authorization 代理伺服器要求web認證資訊

2.13 Host 請求資源所在伺服器

2.14 From 使用者的郵箱地址

2.15 User-Agent 客戶端程式資訊

2.16 Max-Forwrads 最大的逐跳次數

2.17 TE 傳輸編碼的優先順序

2.18 Referer 請求原始放的url

2.19 Expect 期待伺服器的特定行為

3 http/1.1 響應首部欄位

3.1 Accept-Ranges 能接受的位元組範圍

3.2 Age 推算資源建立經過時間

3.3 Location 令客戶端重定向的URI

3.4 vary  代理伺服器的快取資訊

3.5 ETag 能夠表示資源唯一資源的字串

3.6 WWW-Authenticate 伺服器要求客戶端的驗證資訊

3.7 Proxy-Authenticate 代理伺服器要求客戶端的驗證資訊

3.8 Server 伺服器的資訊

3.9 Retry-After 和狀態碼503 一起使用的首部欄位,表示下次請求伺服器的時間

4 http/1.1 實體首部欄位

4.1 Allow 資源可支援http請求的方法

4.2 Content-Language 實體的資源語言

4.3 Content-Encoding 實體的編碼格式

4.4 Content-Length 實體的大小(位元組)

4.5 Content-Type 實體媒體型別

4.6 Content-MD5 實體報文的摘要

4.7 Content-Location 代替資源的yri

4.8 Content-Rnages 實體主體的位置返回

4.9 Last-Modified 資源最後的修改資源

4.10 Expires 實體主體的過期資源






相關文章