HTTP常用字段说明


通用首部字段(General Header Fields):

请求报文和响应报文两方都会使用的首部。

Cache-Control:控制缓存的行为

例:Cache-Control: private, max-age=0, no-cache

缓存请求指令
指令参数说明
no-cache强制向源服务器再次验证
no-store不缓存请求或响应的任何内容
max-age=[秒]必需响应的最大Age值
max-stale(=[秒])可省略接收已过期的响应
min-fresh=[秒]必需期望在指定时间内的响应仍有效
no-transform代理不可更改媒体类型
only-if-cached从缓存获取资源
cache-extension新指令标记(token)
缓存响应指令
指令参数说明
public可向任意方提供响应的缓存
private可省略仅向特定用户返回响应
no-cache可省略缓存前必须先确认其有效性
no-store不缓存请求或响应的任何内容
no-transform代理不可更改媒体类型
must-revalidate可缓存但必须再向源服务器进行确认
proxy-revalidate要求中间缓存服务器对缓存的响应有效性再进行确认
max-age=[秒]必需响应的最大Age值
s-maxage=[秒]必需公共缓存服务器响应的最大Age值
cache-extension新指令标记(token)

Connection:逐跳首部、管理持久连接。不再转发的首部字段名。

Date:创建报文的日期时间

Pragma:报文指令

Trailer:报文末端的首部一览

Transfer-Encoding:指定报文主体的传输编码方式

Upgrade:升级为其他协议

Via:代理服务器的相关信息

Warning:错误通知

请求首部字段(Request Header Fields)

从客户端向服务器发送求报文时使用的首部。补充了请求的附加内容、客户端信息、响应内容相关优先级等信息。

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客户端程序的信息

响应首部字段(Response Header Fields)

从服务器端向客户端返回响应报文时使用的首部。补充了响应的附加内容,也会请求客户端附加额外的内容信息。

Accept-Ranges:是否接受字节范围请求

Age:推算资源创建经过时间

ETag:资源的匹配信息

Location:令客户端重定向至指定URI

Proxy-Authenticate:代理服务器对客户端的认真信息

Retry-After:对再次发起请求的时机请求

Server:HTTP服务器的安装信息

Vary:代理服务器缓存的管理信息

WWW-Authenticate:服务器对客户端的认真信息

实体首部字段(Entity Header Fields)

针对请求报文和响应报文的实体部分使用的首部。补充了资源内容更新时间等与实体相关的信息。

Allow:资源可支持的HTTP方法

Content-Encoding:实体主体适用的编码方法

Content-Language:实体主体的自然语言

Content-Length:实体主体的大小(单位:字节)

Content-Location:替代对应资源的URI

Content-MD5:实体主体的报文摘要

Content-Range:实体主体的位置范围

Content-Type:实体主体的媒体类型

Expires:实体主体过期的日期时间

Last-Modified:资源的最后修改日期时间