JSP 设置HTTP响应报头
- 格式:doc
- 大小:67.50 KB
- 文档页数:4
JSP 设置HTTP响应报头
当客户访问一个页面时,会发送一个HTTP报头到服务器。
这个HTTP请求包括请求行、HTTP头和信息行。
同样,HTTP响应也包括一些HTTP头,另外使用H TML中的META标签,也可以实现对HTTP报头的操作。
META标签是HTML语言HEAD部的一个辅助性标签,它位于HTML文档头部的<HEAD>标记和<TITLE>标记之间,它提供用户不可见的信息。
META标签通常用来为搜索引擎定义页面主题,或者是定义用户浏览器上的cookie、网站作者、设定页面格式、标注内容提要和关键字,还可以设置页面的自动刷新时间间隔级。
META标签分两大部分:HTTP标题信息(HTTP-EQUIV)和页面描述信息(NAM E)。
HTTP-EQUIV类似于HTTP的头部协议,用于回应给浏览器一些有用的信息,以帮助正确地显示网页内容。
表4-3列出了常用的HTTP-EQUIV类型。
的值用于指定所提供信息的类型。
有些值是已经定义好的。
例如description(说明)、keyword(关键字)、refresh(刷新)等。
还可以指定其他任意值,如:creationdate (创建日期)等。
NAME的COUNTENT为指定的实际内容,表4-5列出的NAME类型的作用。
表4-5 NAME类型的作用
在JSP页面中,可以通过Response对象相应方法,动态地添加新的HTTP响应标题值,这些值会被发送到浏览器。
如果添加的HTTP报头已经存在,则新的值会覆盖原来的标题值。
下面是一些常用的修改报头方法:
●控制缓存和有效期。
●定制HTTP报头。
●指定MIME类型。
用户的浏览器,以及浏览器与服务器之间的任一代理服务器,都可以缓存HTML 和JSP创建的网页。
当用户请求页面时,浏览器就发送一个“最新修改”的请求到服务器,询问服务器网页是否被修改。
若没有被修改,服务器的响应使用相应的状态码和消息,使浏览器使用缓存的内容而不需要通过网络重新下载页面。
反之,浏览器就需要新下载页面。
通过HTML页面的META标签控制缓存和有效期的方法如下:
使用Response对象的addHeader( )和setHeader( )方法,可以创建自定义的状态码和HTTP报头。
该方法需要两个参数:HTTP报头和设置报头的值。
例如,在页面中添加HTTP文件头,并通过Response对象为HTTP响应头添加一个标题Refresh。
当客户端接收到这个响应头后,每间隔1秒钟将刷新页面。
文件名:ResponseSX.jsp
下页面,如图4-10所示。
图4-10 自动刷新当前时间
这与在HTML页面中使用如下的<META>标签效果可以设置相同的效果,如<meta http-equiv="refresh" content="1">。
下面列出了基本的响应报头部分: Location 响应报头中用于重定向接受者到一个新的位置。
例如:客户端所请求的页面已经不存在原来的位置,为了让客户端浏览器重定向到所请求页面的新位置,服务器
端可以发回Location响应报头后使用重定向语句,让客户端去访问新的地址。
调用
response.sendRedirect( )方法可以设置该报头。
●Server 响应报头中包含了服务器用来处理请求的软件信息。
它和User-Agent请求报头
相对应,Server发送服务器端软件的信息,User-Agent为发送客户端软件(浏览器)和操作系统的信息。
●Content-Encoding 标明页面在传输过程中所使用的编码方式,因此要获得
Content-Type报头中所引用的资源,浏览器必须采用相应的解码机制。
●Content-Language 描述文档使用的语言。
Content-Language允许用户遵照自身的首选
语言来识别和区分实体。
●Content-Length 该报头用于指明响应文件的长度,以字节方式存储的十进制数字来表
示,也就是一个数字字符占一个字节,用其对应的ASCII码存储传输。
●Content-Type 用于指明发送的MIME类型。
例如:Content-Type:
text/html;charset=GB2312。
●Expires 指定响应过期的日期和时间。
通常,代理服务器或浏览器会缓存一些页面。
当用户再次访问这些页面时,直接从缓存中加载并显示给用户,这样缩短了响应的时间,减少服务器的负载。
为了让代理服务器或浏览器在一段时间后更新页面,可以使用Expires实体报头域指定页面过期的时间。