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状态码的含义及应用,包括信息性代码、成功请求、重定向、客户端错误及服务器错误等。此外还讲解了如何通过HttpServletResponse设置状态码、响应头及消息体的方法,并对比了GET与POST请求的不同之处。
929

被折叠的 条评论
为什么被折叠?



