HTTP协议 响应首部字段

服务器向客户端返回响应报文中所使用的字段,用于补充的附加信息、服务器信息、以及对客户端的附加要求等。

1、Accept-Ranges

告知客户端服务器能否处理范围请求,以指定获取服务器的某部分资源。

可指定的字段值分2种:

1.1 bytes:可处理范围请求。

1.2 none:不能处理范围请求。

Accept-Ranges: bytes

2、Age

告知客户端源服务器创建响应多久了,单位S。

若创建响应的是缓存服务器,该字段指缓存后响应再次发起认证到认证完成的时间值,此时,必须加上首部字段Age。

Age: 600

3、ETag

告知客户端实体标识。

这是一种将资源以字符串形式做唯一标识的一种方式,服务器会为没份资源分配对应的ETag值。

另外,当资源更新时,ETag值也需要更新。

ETag: "82e22293907ce725faf67773957acd12"。

强ETag值和弱ETag值

3.1  强ETag值:不论实体发生多么细微的变化,都会改变其值。

ETag: "usagi-1234"

3.2  弱ETag值<。/p>

只提示资源是否相同;只有资源发生了根本改变,产生差异才会改变ETag值,此时,会在字段值最开始处附加W/。

ETag: W/"usagi-1234"

4、Location

将响应接受方引导至某个与请求URI位置不同的资源。

基本上该字段都会配合3xx:Redirction的响应,提供重定向的URI。

Location: http://www.usagidesign.jp/sample.html

5、Proxy-Authenticate

把代理服务器所要求的认证信息发给客户端,他的认证行为在客户端与代理间进行。

Proxy-Authenticate: basic realm="Usagidesign Auth"

6、Retry-After

告知客户端在多久之后再次发送请求,主要配合状态码503 Service Unavailable响应,或者3XX Redirect响应一起使用。

字段值可以指定具体的日期时间(Wed, 04 Jul 2012 06: 34: 24 GMT等格式),也可以是创建响应后的秒数。

Retry-After: 120

7、Server

告知客户端当前服务器上安装的http服务器应用程序的信息。其中包含软件应用名称,甚至版本号和安装时的启动项

Server: Apache/2.2.17(Unix)

Server: Apache/2.2.6(Unix) PHP/5.2.5

8、Vary

控制缓存。源服务器向代理传达关于本地缓存使用方法的命令。

客户端收到从代理服务器收到的从源服务器返回的包含该字段指定项的响应之后,若再次进行缓存,仅对请求中含有相同字段的请求返回缓存。

Vary: Accept-Language

9、WWW-Authenticate

HTTP访问认证。告知客户端适用于访问请求URI所指定资源的认证方案和带参数提示的查询。

状态码401 Unauthorized响应中,肯定包含该字段。

下一章:HTTP协议 实体首部字段

包含在请求和响应中的实体部分所使用的首部,用于补充内容的更新时间等与实体相关的信息。1、Allow:通知客户端能够支持的Request-URI指定资源的所有http方法:如果服务器接收到不支持的方法,会返回状态码405Method Not Allowed作为响应返回。