# 第三章 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