您的位置:首页 > 理论基础 > 计算机网络

使用Servlet处理HTTP响应

2016-11-29 20:46 351 查看
HTTP状态码:

100-199:表示信息性代码,标志客户端应采取其他动作,请求正在进行;

200-299:表示客户请求成功;

300-399:表示用于已经移走的资源文件,指示新的地址;

400-499:表示由客户端引发的错误;

500-599:表示由服务器端引发的错误

 

设置状态码:

HttpServletResponse中的sendError(int
状态码,”状态描述”)

在消息体发送之前(即使用PrintWriter向客户端放送消息之前)设置状态码

 

设置响应头:

HttpServletResponse(接口)中的setHeader(“键”,”值”),键值对要遵循HTTP协议才有效

SetHeader()只针对HTTP协议,因为只有HTTP协议才会有响应头,所以是HttpServletResponse独有的方法

 

设置消息体:HttpServletResponse有两种方式

---传输普通文本 getWriter()打印字符流

---传输二进制内容 getOutputStream()打印字节流

重定向的工作流程:

客户端请求服务器,服务器调用response.sendRedirect()方法,重定向到新的资源。产生响应时,会发送响应码302,同时产生location响应头。客户端浏览器在接收到响应信息后,发现是302状态码,会读取location响应头的信息,然后根据location响应头的内容,再向服务器发出第二次请求

 

GET/POST对比

1,流格式的区别:

Get方式只有请求行,请求头,空行。在URL后面附加表单数据。

POST方式有请求行,请求头,空行,消息体。在消息体中描述表单数据

2.用途的区别:

GET方式主要用于资源的查找

POST方式主要用于数据传输

3.传输性能的区别:

   Get方式不能传输大数据,只能传输文本数据,表单数据会显示在地址栏,不安全。

POST方式可以传输文本数据和二进制数据,并可以传输大数据,表单数据在消息体中,地址栏不会显示,相对安全

特征
GET方法
POST方法
提交数据类型
文本
文本,二进制
提交数据长度
不超过255个字符
没有限制
提交数据可见性
作为URL地址的一部分显示在浏览器上
作为请求的消息体,不可见
提交数据缓存
缓存在浏览器URL历史状态中
    不会被浏览器缓存
 

使用GET的情况:

用户在网页上点击一个超链接;

用户提交在网页上填写好的表单;

用户在浏览器地址栏中输入URL地址并回车

---默认情况下都是使用HTTP协议的GET方法提交请求
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  http请求 servelt