第六章 HTTP首部
6.2 HTTP首部字段
表6-1:通用首部字段名 |
说明
|
---|
Cache-Control |
控制缓存行为
|
Connection |
逐跳首部、连接管理
|
Date |
创建报文的日期时间
|
Pragma |
报文指令
|
Trailer |
报文未端的首部一览
|
Transfer-Encoding |
指定报文主体的传输编码方式
|
Upgrade |
升级为其它协议
|
Via |
代理服务器的相关信息
|
Warning |
错误通知
|
表6-2:请求首部字段名 |
说明
|
---|
Accept |
用户代理可处理的媒体类型
|
Accept-Charset |
优先的字符集
|
Accept-Encoding |
优先的内容编码
|
Accept-Language |
优先的语言(自然语言)
|
Authorization |
Web认证信息
|
Expect |
期待服务器的特别行为
|
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客户端程序信息
|
表6-3:响应首部字段名称 |
说明
|
---|
Accept-Ranges |
是否接受字节范围请求
|
Age |
推算资源创建经过时间
|
ETag |
资源的匹配信息
|
Location |
令客户端重定向至指定URI
|
Proxy-Authenticate |
代理服务器对客户端的认证信息
|
Retry-After |
对再次发起请求的时机要求
|
Server |
HTTP服务器的安装信息
|
Vary |
代理服务器缓存的管理信息
|
WWW-Authenticate |
服务器对客户端的认证信息
|
表6-4:实体首部字段名 |
说明
|
---|
Allow |
资源可支持的HTTP方法
|
Content-Encoding |
实体主体适用的编码方式
|
Content-Language |
实体主体的自然语言
|
Content-Length |
实体主体的大小(单位:字节)
|
Content-Location |
替代对应资源的URI
|
Content-MD5 |
实体主体的报文摘要
|
Content-Range |
实体主体的位置范围
|
Content-Type |
实体主体的媒体类型
|
Expires |
实体主体过期的日期时间
|
Last-Modified |
资源最后修改的日期时间
|
逐跳字段(除了以下这8个首部字段外,其它都属于端到端首部):
- Connection
- Keep-Alive
- Proxy-Authenticate
- Trailer
- TE
- Transfer-Encoding
- Upgrade
6.3 HTTP1.1通用首部字段
6.3.1 Cache-Control指令
指令一览
缓存请求指令:
指令 |
参数 |
说明
|
---|
no-cache |
无 |
强制向源服务器再次验证
|
no-store |
无 |
不缓存请求或响应的任何内容
|
max-age=[秒] |
必须 |
响应的最大Age值
|
max-stale(=[秒]) |
可省略 |
接收已过期的响应
|
min-refresh=[秒] |
必须 |
期望在指定的时间内仍然有效
|
no-transform |
无 |
代理不可更改媒体类型
|
only-if-cached |
无 |
从缓存获取资源
|
cache-extention |
- |
新指令标记(token)
|
缓存响应指令:
指令 |
参数 |
说明
|
---|
public |
无 |
可向任意方提供响应的缓存
|
private |
可省略 |
仅向特定用户返回响应
|
no-cache |
可省略 |
缓存前必须先确认其有效性
|
no-store |
无 |
不缓存请求或响应的任何内容
|
no-transform |
无 |
代理不可更改媒体类型
|
must-revalidate |
无 |
可缓存但必须再向源服务器进行验证
|
proxy-revalidate |
无 |
要求中间缓存服务器对缓存的响应有效性再进行确认
|
max-age=[秒] |
必须 |
响应的最大Age值
|
s-maxage=[秒] |
必须 |
公共缓存服务器响应的最大Age值
|
cache-extension |
- |
新指令标记(token)
|
- no-cache指令
- 事实上:no-cahce代表不缓存过期的资源,缓存会向源服务器进行有效期确认后处理资源。no-store才是真正的不缓存资源。
- s-maxage
- 功能与max-age相同,不同是本指令只适用于供多用户使用的公共缓存服务器(一般指代理)。
- 另外,当使用s-maxage指令后,则直接忽略Expires首部字段及max-age指令的处理。
- max-age
- Cache-Control: max-age=604800
最后修改于2016年10月19日 (星期三) 05:53