做爲前端的代碼猿,在面試中避免不了別問道http首部字段,有些小夥伴可能就會感到懼怕😨,心想我那知道這些啊,哈哈,有關tcp/ip協議裏面的這些問題在面試中常常被問道前端
tcp三次握手策略、web
響應字段的含義、面試
http與https的差異、瀏覽器
http的缺點、緩存
https是這麼實現加密通訊的、服務器
https的通訊流程 tcp
廢話不都說我們就看看http/1.1中常見的一些首部字段,你們作好準備經常使用的字段挺多的,大概有47個 😨一聽見這個數字你們就會嚇一跳what這麼多,莫怕夥計們,其實按類別的是很好區分的。post
我們不着急看着40幾個首部字段我們先了解一下首部字段是幹什麼的,其實首部字段是用來傳遞重要信息的,首部字段是構成報文的要素之一。若http首部字段重複了會如何,如今在tcp/ip協議上邊尚未明確的規範定義,使用第一次出現的仍是後者出現的字段,其實組要仍是根據瀏覽器的邏輯來決定的,有的瀏覽器時首先處理第一次出現的首部字段,而有些則處理最後一次出現的首部地段。編碼
剛纔我們談到了首部字段大概是40多個,莫怕,這些字段是進行分類的,根據首部字段實際用途分爲4中類型。加密
下面簡介http/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 建立報文的日期
二、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 實體主體的過時資源