HTTP 首部

164 阅读2分钟

在Http通信过程中,不管是请求还是响应,首部都起到了传递额外重要信息的作用。

首部格式为:首部字段名:字段值

一个首部字段名可以有多个值,用逗号隔开。

当首部出现了首部字段名一样的情况,因为没有明确的规定,所以这个是根据浏览器自己的规则来的,有的读取同样名字的第一个首部,有的读取最后的同样名字的首部。

Http首部根据使用不同,分为了4中类型:

  • 通用首部字段:请求和响应的首部都会用
  • 请求首部字段:客户端请求的时候使用的首部,补充了请求的附加内容,客户端信息,响应内容相关优先级等信息
  • 响应首部字段:服务器想客户端返回响应报文时使用的首部,补充了响应的附加内容,也会要求客户端副价额外的内容信息。
  • 实体首部字段:针对请求报文和响应报文实体部分使用的首部,补充了资源内容更新时间等与实体有关的信息。

通用首部:

通用.jpg

请求首部:

请求.jpg

响应首部:

响应1.jpg

响应2.jpg

实体首部:

实体.jpg

在HTTP通信中还用到了Cookie、Set-Cookie、Content-Disposition等在其他RFC中定义的首部字段。

HTTP首部字段分为缓存代理和非缓存代理。

  • 端到端首部(End-to-End Header):分类在此类别中的首部会转发给请求或者响应的最终接受目标(转发、代理等),并且保存在由缓存生成的响应中,规定他必须被转发。
  • 逐条首部(Hop-by-Hop Header):分类在此类别中的首部单次转发有效,会因通过缓存或代理而不再转发,Http1.1如果要使用,需要提供Connection首部字段。

下面列举了一些逐条首部:

  • Connection
  • Keep-Alive
  • Proxy-Authenticate
  • Proxy-Authorization
  • Trailer
  • TE
  • Transfer-Encoding
  • Upgrade