# 第三章 HTTP通用首部字段
> 作者:肖鵬 時間:2018-05-06
## 3.0.1 通用首部字段總列表
> 作者:肖鵬 時間:2018-05-06
| 首部字段名 | 說明
| ---|--- |
| [Cache-Control](general.md) | 控制緩存的行為 |
| [Connection](connection.md) | 逐跳首部、連接的管理 |
| [Date](date.md) | 創建報文的日期時間 |
| [Pragma](pargma.md) | 報文指令 |
| [Trailer](trailer.md) | 報文末端的首部一覽 |
| [Transfer-Encoding](transfer-encoding.md) | 指定報文主體的傳輸編碼方式 |
| [Upgrade](upgrade.md) | 升級為其他協議 |
| [Via](via.md) | 代理服務器的相關信息 |
| [Warning](warning.md) | 錯誤通知 |
## 3.0.2 相關信息
> 首部字段:包含請求和響應的各種條件和屬性的各類首部,一般有4種首部,分別是:通用首部、請求首部、響應首部和實體首部
> ==Ps: **若HTTP首部字段重復了會如何**==
>
> 當HTTP報文首部中出現了兩個或兩個以上具有相同首部字段名時會怎么樣?這種情況在規范內尚未明確,根據游覽器內容處理邏輯的不同,結果可能不一樣。有些游覽器會優先處理第一次出現的首部字段,而有些則會優先處理最后出現的首部字段。==所以,在平時書寫首部字段時注意不要重復==
> Ps:以下都為HTTP/1.1使用的首部字段,當然有一些是不屬于RFC2616的,但是被我們經常使用的,比如:Cookie、Set-Cookie和Content-Disposition等在其他RFC中定義的首部字段
> Ps:HTTP首部字段將定義成緩存代理和非緩存代理的行為,分為2種類型
>
> 1、端到端首部(End-to-end Header):分在此類別中的首部會轉發給請求/響應對應的最終接受目標,且必須保存在由緩存生成的響應中,另外規定它必須被轉發
>
> 2、逐跳首部(Hop-by-hop Header):分在此類別中的首部只對單次轉發有效,會因通過緩存或代理而不在轉發。HTTP/1.1 和之后版本中,如果要使用hop-by-hop 首部,需提供Connection首部字段。
>
> 逐跳首部一般為下面8個,其余的為端到端首部:**Connection、Keep-Alive、Proxy-Authenticate、Proxy-Authorization、Trailer、TE、Transfer-Encoding、Upgrade**
- Tips:
1. 接下來內容將全部圍繞字段展開
2. 有些專業術語,比如網關等等,將在后面講解
3. 因為語言種類多,所以講不演示如何使用這些字段,只講解字段意思和基本信息,如要測試請按照你所使用的語言來進行處理
> 作者:肖鵬 時間:2018-05-06
- 首語
- 第一章 HTTP協議及網絡基礎
- 第二章 協議返回狀態碼
- 第三章 HTTP通用首部字段
- 第一節 Cache-Control字段
- 第二節 Connection 字段
- 第三節 Date 字段
- 第四節 Pragma 字段
- 第五節 Trailer 字段
- 第六節 Transfer-Encoding 字段
- 第七節 Upgrade 字段
- 第八節 Via 字段
- 第九節 Warning 字段
- 第四章 HTTP請求首部字段
- 第一節 Accept 字段
- 第二節 Accept-Charset 字段
- 第三節 Accept-Encoding 字段
- 第四節 Accept-Language 字段
- 第五節 Authorization 字段
- 第六節 Expect 字段
- 第七節 From 字段
- 第八節 Host 字段
- 第九節 If-Match 字段
- 第十節 If-Modified-Since 字段
- 第十一節 If-None-Match 字段
- 第十二節 If-Range 字段
- 第十三節 If-Unmodified-Since 字段
- 第十四節 Max-Forwards 字段
- 第十五節 Proxy-Authorization 字段
- 第十六節 Range 字段
- 第十七節 Referer 字段
- 第十八節 TE 字段
- 第十九節 User-Agent 字段
- 第五章 HTTP響應首部字段
- 第一節 Accept-Ranges 字段
- 第二節 Age 字段
- 第三節 ETge 字段
- 第四節 Location 字段
- 第五節 Proxy-Authenticate 字段
- 第六節 Retry-After 字段
- 第七節 Server 字段
- 第八節 Vary 字段
- 第九節 WWW-Authenticate 字段
- 第六章 HTTP實體首部字段
- 第一節 Allow 字段
- 第二節 Content-Encoding字段
- 第三節 Content-Language 字段
- 第四節 Content-Length 字段
- 第五節 Content-Location 字段
- 第六節 Content-MD5 字段
- 第七節 Content-Range 字段
- 第八節 Content-Type 字段
- 第九節 Expires 字段
- 第十節 Last-Modified 字段
- 第七章 Cookie相關和其他的首部字段