第三章 HTTP通用首部字段
最后更新于:2022-04-02 04:39:30
# 第三章 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
';