一,HTTP响应的格式
web服务器对客户端的响应一般包含:一个状态行,一些响应报头,一个空行和相应的文档构成。
1,状态行:
状态行由HTTP版本,一个状态代码以及一段对应状态代码的简短消息组成,表示请求是否被理解或被满足。HTTP版本由服务器决定。状态码一般由系统自动设置为200。也可以用Servlet设置状态码。消息巍峨自定义。
2,响应报。
3,空行
4,文档
二,如何设置状态代码
在向客户程序发送任何文档内容之前调用方法设置状态代码。
使用HttpServletResponse接口的setStatus,sedRedirect或sendError方法设置状态码。
状态代码由3位数字组成,第一个数字定义了响应的类别,后面两位数字没有具体的分类。
在servlet中使用HttpServletResponse中定义的常量来引用状态代码。
1,设置任意状态代码:setStatus(int)方法
在用PrintWriter实际返回如何内容之前调用setstatus方法。
参数可以为int类型状态代码,也可以为HttpServletResponse中定义的常量。
2,设置302和404状态代码:sendRedirect(Stringurl)和sendError(intcode,Stringmsg)方法。二者抛出IOException。
状态代码302命令浏览器连接到新的url。sendRedirect方法生成302响应及Location报头,给出新的url放入Location报头之前,系统自动将相对url转换为绝对url。
状态代码404用于服务器没有找到文档的情况。sendError方法发送状态代码及小段简短信息,信息被自动安排在HTML文档中发送给用户。