HTTP学习笔记5-常用报头
24,在普通报头中,有少数报头域应用域所有的请求和响应消息,但并不用于被传输的实体,这些报头域只用于传输的消息。
25,常用的普通报头Cache-Control:
Cache-Control普通报头域用于指定缓存指令,该指令将被请求/响应链中所有的缓存机制所遵循。这些指令覆盖缺省的缓存规则。
注意:Cache-Controle普通报头域是在HTTP1.1中新增的,HTTP1.0使用的类似报头域为
Program。age、max-stale、min-fresh、only-if-cached;响应时的缓存指令包括public、private、no-cache、no-storeform、must-revalidate、proxy-revalidate、max-age、s-maxage。其中最常用的是no-cache,用于知识请求或响应消息不能缓存。
例如,为了知识IE浏览器(客户端)不能缓存页面,服务器端的jsp程序可以编写下面的代码:
response.setHeader(“Cache-Control”, “no-cache”);
这句代码将在发送的响应消息中设置普通报头域:Cache-Control: no-cache.
26、常用的普通报头Date
Date普通报头域表示消息产生的日期和时间,可以用于HTTP响应中,也可以用于HTTP请求中,作为服务器端,应该总是在所有的响应中包含Date报头域。作为客户端只有在发送的消息中包括了消息正文的时候,才应该发送Date报头域,例如,在POST请求的时候。
27、常用的普通报头域Connection
Connection普通报头域允许发送着指定连接的选项。例如指定连接是持续的,或者指定“close”选项,通知服务器,在响应完成后,关闭连接。
28,常用的普通报头Pragma
Pragma普通报头域被用于包含特定实现(implementation-specific)的指令,这些指令可能会应用到请求/响应脸中的任何一个接受者。最常用的是Pragma:no-cache。在HTTP1.1中,它的含义和Cache-Control:no-cache相同。有时候,我们不知道客户端浏览器是否支持HTTP1.1,可以同市使用Prama和Cache-Control报头域,来知识客户端不用缓存响应消息,如下:
response.setHeader(“Pragma”, “no-cache”);
response.setHeader(“Cache-Control”, “no-cache”);