8.1 http应答头概述
web服务器的http应答一般由以下几项构成:一个状态行,一个或多个应答头,一个空行,内容文档。设置http应答头往往和设置状态行中的状态代码结合起来。例如,有好几个表示“文档位置已经改变”的状态代码都伴随着一个location头,而401(unauthorized)状态代码则必须伴随一个www-authenticate头。
然而,即使在没有设置特殊含义的状态代码时,指定应答头也是很有用的。应答头可以用来完成:设置cookie,指定修改日期,指示浏览器按照指定的间隔刷新页面,声明文档的长度以便利用持久http连接,……等等许多其他任务。
设置应答头最常用的方法是httpservletresponse的setheader,该方法有两个参数,分别表示应答头的名字和值。和设置状态代码相似,设置应答头应该在发送任何文档内容之前进行。
setdateheader方法和setintheadr方法专门用来设置包含日期和整数值的应答头,前者避免了把java时间转换为gmt时间字符串的麻烦,后者则避免了把整数转换为字符串的麻烦。
httpservletresponse还提供了许多设置常见应答头的简便方法,如下所示:
setcontenttype:设置content-type头。大多数servlet都要用到这个方法。
setcontentlength:设置content-length头。对于支持持久http连接的浏览器来说,这个函数是很有用的。
addcookie:设置一个cookie(servlet api中没有setcookie方法,因为应答往往包含多个set-cookie头)。
另外,如上节介绍,sendredirect方法设置状态代码302时也会设置location头。
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器