http响应报头是非常有用的一个信息。也许我们不是非常多的使用,但是偶尔使用能很好的提升效率。下面我对这些报头进行一个简单的汇总,更多更详细的参见RFC2616
1.allow
allow报头指定服务器支持的请求方法(get,set等)。还记得405(method not allowed)错误吗?这个响应就需要设置这个报头
2.cache-control
这个报头告诉浏览器什么情况下可以安全地缓存文档,这个报头可以取以下值
public:文档可以缓存,就算是按照正常规则(例如密码保护页面)不能缓存的也强制缓存
private:缓存到私有缓存中 关于缓存参见http://xiaotank.blog.51cto.com/2461521/1073659
no-cache:不使用缓存。但是仍然缓存文档
no-store:不缓存文档。
must-revalidate:每次使用时,浏览器都要联系服务器验证文档
proxy-revalidate:只适用于共享缓存
max-age = xxx:xxx秒后应该将文档视为时效
s-max-age = xxx:共享缓存应该在xxx秒后失效
3.connection
是否使用http持续连接
close:不使用
open :实用持续连接,默认情况,使用持续连接那么每次响应就要设置content-length 报头
4.content-dispositon
可以询问客户将响应存储在指定位置。这是在RFC2813中新增的对非html响应(响应的是一个pdf,音频文件等)的一个功能。
5.content-ecoding
指定响应在传输过程中的编码方式。浏览器应该在如何处理文档之前根据这个报头逆编码
6.content-language
文档所使用的语言,可以使用的标准语言见RFC1766
7.conteng-length
对于使用持续性连接的情况下。要使用这个报头
8.content-type
响应文档的MIME,参见我的另一篇文章MIME入门
9.expires
设定缓存过期时间,超过设定时间的缓存就视为过期
10.last-modified
设定文档最后修改时间,一般在响应的时候自动设置,当有if-modified-since请求,会对比两个时间,如果last-modified比if-since-modified晚,那么就正常响应,否则响应304.告诉浏览器到缓存中找。
11.location
一般对应响应状态为300-399。告诉浏览器,文档的地址,浏览器连接到这个地址以获得响应文档。
12.pragma
与cache-control:no-cache一样
13.refresh
重新加载页面。有两个参数,一个是时间,一个是地址。时间指定单位是秒,指定多少秒后重新加载。地址可以指定重新加载的页面。如果没有地址,则加载当前页面。
14.retry-after
对于503.服务器可以通过这个报头告诉浏览器多久以后能再次请求。
15.set-cookie
设置cookie。
还有好多好多,好累了,不想写了。如果有疑问可以直接回复我