HTTP首部字段是构成HTTP报文的要素之一,在客户端和服务器之间以HTTP协议进行通信的过程中,无论是请求还是响应都会使用首部字段,他能起到额外传递信息的作用。

使用首部字段是为了给浏览器和服务器提供报文主体大小,所使用的语言,认证信息内容。

HTTP Header 详解
4中HTTP首部字段类型
HTTP首部字段根据实际用途被分为4种类型

通用首部类型(General Header Fields)
请求报文和响应报文两方都会使用的首部

请求首部类型(Request Header Fields)
从客户端到服务器发送报文时使用的首部,补充了响应的附加内容,客户端信息相应内容相关优先级等信息。

响应首部字段(Response Header Fields)
从服务端向客户端返回响应报文时使用的首部,补充了响应附加内容,也会要求客户端附加额外的内容信息

实体首部字段(Entity Header Fields)
针对请求报文和响应报文的实体部分使用的首部,补充了资源内容,更新时间等实体相关的信息。

以下所有字段均基于 HTTP1.1

通用首部字段

首部字段名 解释 实例
Cache-Control 控制缓存的行为 no cache ,public,private
Connection 逐跳首部,链接的管理 keep alive;colse
Date 创建报文的日期时间 date: Sun, 25 Nov 2018 13:43:12 GMT
Pragma 报文指令 no cache
Trailer 报文末端的首部一览 Expires
Transfer-Encoding 指定报文主体的传输编码格式 chunked
Upgrade 升级为其他协议 TLS/1.0
Via 代理服务器的相关信息
Warning 错误通知 Response is stale(缓存已过期)

请求首部字段

首部字段名 解释 实例
Accept 用户代理可处理媒体类型 no cache ,public,private
Accept-Charset 优先的字符集 iso-8859-5
Accept-Encoding 优先的内容编码 gzip, deflate
Accept-Language 优先的语言(自然语言) zh-CN,zh;q=0.9
Authorization Web认证信息 Basic …
Ecpect 期待服务器的特定行为 100-continue
From 用户的电子邮件地址 [email protected]
Host 请求资源所在服务器 www.baidu.com
If-Match 比较实体标记(ETag) “123456”
If-Modified-Since 比较资源的更新时间 Wed, 05 Dec 2018 09:41:25 GMT
If-None_Match 比较实体比较(与If-Match相反) W/“5c079d45-115ec”
If_Range 资源为更新时发送实体byte的范围请求 “123456”
IF_Unmodified-Since 比较资源的更新时间(与f-Modified-Since相反) Wed, 05 Dec 2018 09:41:25 GMT
Max-Forwards 最大传输调数 2
Proxy-Authorization 代理服务器要求客户端的认证信息 Basic …
Range 实体的字节范围请求 bytes 5001-10000
Referer 对请求中URI的原始获取方 https://pos.baidu.com/wh/o.htm?ltr=
TE 传输编码的优先级 gzip,deflate;q=0.5
User-Agent HTTP客户端程序的信息 Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.77 Mobile Safari/537.36

响应首部字段

首部字段名 解释 实例
Accepts-Ranges 是否接受字节范围请求 bytes
Age 推算资源创建经过时间 600
ETag 资源匹配信息 usagi-1234
Location 令客户端重定向至指定URI http://www.baidu.com
Proxy-Authenticate 代理服务器对客户端的认证信息 Basic realm=“Usagidesign Auth”
Retry-After 对再次发起请求的时机要求 120
Sever HTTP服务器的安装信息 JSP3/2.0.14
Vary 代理服务器对客户端的管理信息 Accept Language
WWW-Authenticate 服务器对客户端的认证信息 Basic realm=“Usagidesign Auth”

实体首部字段

首部字段名 解释 实例
Allow 资源可支持的HTTP方法 Get,Head
Content-Encoding 实体主体适用的编码方式 gzip
Content-Language 实体主体的编码语言 zh-CN
Content-Length 实体主体的大小(单位:字节) 1500
Content-Location 替代对应资源的URI http://www.baidu.com
Content-MD5 实体主体的报文摘要
Content-Range 实体主体的位置范围 bytes 5001-10000/10000
Content-Type 实体主体的媒体类型 text/html;charset=UTF-8
Expires 实体主体过期的日期时间 Thu, 06 Dec 2018 13:23:02 GMT
Last-Midified 资源的最后修改日期时间 Mon, 26 Dec 2016 09:48:01 GMT

更多参见 w3c官网Header Field Definitions

相关文章: