下表显示了常见的http 1.1状态代码以及它们对应的状态信息与含义.
100 continue 初始的请求已经接受,客户应当继续发送请求的其余部分.(http 1.1新) 【程序编程相关:JSP连接各类数据库大全(上)】应当谨慎地使用那些只有http 1.1支持的状态代码,因为许多浏览器还只能够支持http 1.0.如果你使用了http 1.1特有的状态代码,最好能够检查一下请求的http版本号(通过httpservletrequest的getprotocol方法). 状态代码 状态信息 含义 【推荐阅读:WebLogic的初步研究(2):结构篇】
200 ok 一切正常,对get与post请求的应答文档跟在后面.如果不用setstatus设置状态代码,servlet默认使用202状态代码. 【扩展信息:JSP由浅入深(6)JSP声明】101 switching protocols 服务器将遵从客户的请求转换到另外一种协议(http 1.1新) 201 created 服务器已经创建了文档,location头给出了它的url. 202 accepted 已经接受请求,但处理尚未完成. 203 non-authoritative information 文档已经正常地返回,但一些应答头可能不正确,因为使用的是文档的拷贝(http 1.1新). 204 no content 没有新文档,浏览器应该继续显示原来的文档.如果用户定期地刷新页面,而servlet可以确定用户文档足够新,这个状态代码是很有用的. 205 reset content 没有新的内容,但浏览器应该重置它所显示的内容.用来强制浏览器清除表单输入内容(http 1.1新). 206 partial content 客户发送了一个带有range头的get请求,服务器完成了它(http 1.1新). 300 multiple choices 客户请求的文档可以在多个位置找到,这些位置已经在返回的文档内列出.如果服务器要提出优先选择,则应该在location应答头指明. 301 moved permanently 客户请求的文档在其他地方,新的url在location头中给出,浏览器应该自动地访问新的url. 302 found 类似于301,但新的url应该被视为临时性的替代,而不是永久性的.注意,在http1.0中对应的状态信息是“moved temporatily”,而httpservletresponse中相应的常量是sc_moved_temporarily,而不是sc_found. 出现该状态代码时,浏览器能够自动访问新的url,因此它是一个很有用的状态代码.为此,servlet提供了一个专用的方法,即sendredirect.使用response.sendredirect(url)比使用response.setstatus(response.sc_moved_temporarily)与response.setheader("location",url)更好.这是因为:首先,代码更加简洁.
第二,使用sendredirect,servlet会自动构造一个包含新链接的页面(用于那些不能自动重定向的老式浏览器). 最后,sendredirect能够处理相对url,自动把它们转换成绝对url.... 下一页