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实体报头域指定页面过期的时间。