头字段
头部字段是key-value
的形式,用:
分隔,不区分大小写,顺序任意,除了规定的标准头,也可以任意添加自定义字段,实现功能扩展。
HTTP协议规定了非常多的头部字段,实现各种各样的功能,但基本上可以分为四大类:
- 通用字段
Cache-Control
:控制缓存的行为;
请求头中Cache-Control:
no-cache:告诉(代理)服务器不直接使用缓存,强制向源服务器进行验证。
no-store:内容不存储到缓存或Internet临时文件中。
max-age = <seconds> 响应时间不超过seconds。
max-stale = [seconds可省略] 接收已过期的响应。
min-fresh = <seconds> 期望在指定时间内的响应仍有效。
no-transform:告诉代理服务器不要对返回的body进行处理,比如压缩等。
only-if-cached:告诉服务器,客户端从缓存获取资源。
cache-extention:自定义扩展值,若服务器不识别该值将被忽略掉。
响应头中Cache-Control时:
public:指在response返回经过的任何地方都可以缓存,包括代理服务器,客户端等。
private:响应的内容仅向特定用户做缓存使用。
no-cache:不直接使用缓存,向服务器发送请求进行验证。
no-store:所有内容不存储到缓存中。
no-transform:告诉客户端缓存文件时不对实体数据做任何改变。
max-age = <seconds> 告诉客户端该资源在seconds时间内是新鲜的,无需向服务器发请求。
s-maxage = <seconds> 同max-age,但仅应用于共享缓存。
must-revalidate:代理服务器会向源服务器再次验证缓存内容是否有效。
proxy-revalidate:同must-revalidate,但仅应用于共享缓存.
cache-extention:自定义扩展值,若服务器不识别该值将被忽略掉。
Connection
:逐跳首部、连接的管理;
Connection:close/Keep-Alive,管理持久连接。
Keep-Alive:维持持久连接。
close:断开连接。
Date
:创建报文的日期和时间;
Pragma
:报文指令;
Pragma:no-cache 表示客户端要求所有的代理服务器都不返回缓存的资源。
Trailer
:报文末端的首部一览;
Transfer-Encoding
:指定报文主体的传输编码方式;
Upgrade
:升级为其他协议;
Via
:代理服务器的相关信息;
Warning
:警告通知。
- 请求字段
Accept
:用户代理可处理的媒体类型;
Accept:text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.
客户端向服务器端说明能够处理的媒体类型及媒体类型的相对优先级。
q
表示媒体类型的权重值,范围是0
到1
,可精确到小数点后三位,不指定值时,默认权重为q=1.0
,和类型中间用;
分隔。权重一样时,媒体类型越在后面优先级越高。
Accept-Charset
:优先的字符集;
Accept-Charset:iso-8859-5,unicode-1-1;q=0.8
告诉服务端,客户端支持的字符集及优先级。可一次性指定多种字符集,采用q表示相对优先级。
Accept-Encoding
:优先的内容编码;
Accept-Encoding:gzip, deflate
客户端支持的编码格式及编码的优先级顺序,类似Accept-Charset。
Accept-Language
:客户端能够处理的自然语言集;
Accept-Language:zh-cn,zh;q=0.7,en-us,en;q=0.3
Authorization
:web认证信息;
Except
:期待服务器的特定行为;
From
:用户的电子邮箱地址;
Host
:请求资源的所在服务器;
If-Match
:比较实体标记Etag
,两者值相同时,服务器才会处理请求。
If-Modified-Since
:比较资源的更新时间;
If-None-Match
:比较实体标记(与if-Match
相反);
If-Range
:资源未更新时发送实体Byte
的范围请求;
If-Unmodified-Since
:比较资源的更新时间(与If-Modified-Since
相反);
Max-Forwards
:最大传输逐跳数;
Proxy-Authorization
:代理服务器要求客户端的认证信息;
Range
:实体的字节范围请求;
Referer
:对请求中URI的原始获取方;
TE
:传输编码的优先级;
User-Agent
:HTTP
客户端程序的信息;
- 响应字段
Accept-Ranges
:是否接受字节范围请求;
Accept-Ranges: bytes/none
Age
:推算资源创建经过时间;
ETag
:资源的匹配信息;
Location
:令客户端重定向至指定URI
;
Proxy-Authenticate
:代理服务器对客户端的认证信息;
Retry-After
:对再次发起请求的时机要求;
Server
:HTTP
服务器的安装信息;
Vary
:代理服务器缓存的管理信息;
WWW-Authenticate
:服务器对客户端的认证信息;
- 实体字段
Allow
:资源可支持的HTTP
方法;
Content-Encoding
:实体主体适用的编码方式;
Content-Language
:实体主体的自然语言;
Content-Length
:实体主体的大小;
Content-Location
:替代对应资源的URI
;
Content-MD5
:实体主体的报文摘要;
Content-Range
:实体主体的位置范围;
Content-Type
:媒体类型;
Expires
:过期的日期时间;
Last-Modified
:资源的最后修改日期时间。