前后台交互协议与转码问题

隐身守侯 提交于 2020-03-17 11:16:46

前言

全称 中文名称
Htp HyperText Transfer Protocol 超文本传输协议

Http是一个简单的请求-响应协议,基于应用层,架构在TCP上的可靠性通信协议。客户端与服务器之间的信息交互必须遵守Http协议,客户端与服务器的请求和响应消息的头以ASCII码形式给出;而消息内容则具有一个类似的MIME的格式。
协议:两个需要通过网络同行的程序达成的约定。

1、HttpServletRespons 状态码

1.1、简要分类

分类 含义 注释 常见状态码
1XX Informational(信息性状态码) 请求正在处理中
2XX Success(请求处理成功) 请求正常处理完毕 200:请求成功执行
3XX Redirection(重定向) 需要再进行附加操作完成请求 301:所请求的页面已经转移到一个新的 URL。
4XX Client Error(客户端错误状态码) 服务器无法处理 404: 服务器无法找到所请求的页面。
5XX Server Error(服务器错误状态码) 服务器处理请求出错 500:未完成的请求。服务器遇到了一个意外的情况。

1.2、状态码

状态码 含义 解释
100 Continue 只有请求的一部分已经被服务器接收,但只要它没有被拒绝,客户端应继续该请求。
101 Switching Protocols 服务器切换协议。
200 OK 请求成功。
201 Created 该请求是完整的,并创建一个新的资源。
202 Accepted 该请求被接受处理,但是该处理是不完整的。
203 Non-authoritative Information
204 No Content
205 Reset Content
206 Partial Content
300 Multiple Choices 链接列表。用户可以选择一个链接,进入到该位置。最多五个地址。
301 Moved Permanently 所请求的页面已经转移到一个新的 URL。
302 Found 所请求的页面已经临时转移到一个新的 URL。
303 See Other 所请求的页面可以在另一个不同的 URL 下被找到。
304 Not Modified
305 Use Proxy
306Unused 在以前的版本中使用该代码。现在已不再使用它,但代码仍被保留。
307 Temporary Redirect 所请求的页面已经临时转移到一个新的 URL。
400 Bad Request 服务器不理解请求。
401 Unauthorized 所请求的页面需要用户名和密码。
402 Payment Required 您还不能使用该代码。
403 Forbidden 禁止访问所请求的页面。
404 Not Found 服务器无法找到所请求的页面。
405 Method Not Allowed 在请求中指定的方法是不允许的。
406 Not Acceptable 服务器只生成一个不被客户端接受的响应。
407 Proxy Authentication Required 在请求送达之前,您必须使用代理服务器的验证。
408 Request Timeout 请求需要的时间比服务器能够等待的时间长,超时。
409 Conflict 请求因为冲突无法完成。
410 Gone 所请求的页面不再可用。
411 Length Required "Content-Length"未定义。服务器无法处理客户端发送的不带 Content-Length 的请求信息。
412 Precondition Failed 请求中给出的先决条件被服务器评估为 false。
413 Request Entity Too Large 服务器不接受该请求,因为请求实体过大。
414 Request-url Too Long 服务器不接受该请求,因为 URL 太长。当您转换一个 “post” 请求为一个带有长的查询信息的 “get” 请求时发生。
415 Unsupported Media Type 服务器不接受该请求,因为媒体类型不被支持。
417 Expectation Failed
500 Internal Server Error 未完成的请求。服务器遇到了一个意外的情况。
501 Not Implemented 未完成的请求。服务器不支持所需的功能。
502 Bad Gateway 未完成的请求。服务器从上游服务器收到无效响应。
503 Service Unavailable 未完成的请求。服务器暂时超载或死机。
504 Gateway Timeout 网关超时。
505 HTTP Version Not Supported 服务器不支持"HTTP协议"版本。

2、交互请求

Http定义了于服务器交互的不同方法,最基本的有四种:

1.1、Get:一般用于获取/查询资源信息,进行查询操作。
1.2、Post:一般用于更新资源信息,进行修改操作。
1.3、Delete:进行删除操作。
1.4、Put:进行添加操作。
1.5、Head:获得报文首部。
1.6、Options:查询支持的方法。
1.7、Trace:追踪路径。
1.8、Connect:用隧道协议链接代理。
注释:根据RFC2616标准(Http1.1版本),添加OptionsHeadTraceConnect

3、乱码问题

在交互过程中可能会出现中文乱码问题,所以为了解决传值乱码,我们需要对前后台、服务器的编码规则进行规范。当编码规则统一时,乱码就不会出现。
设计方式:

servlet:(在传值方法里设置转码规则)request.setCharacterEncoding("utf-8");
jsp:(系统默认设置为“utf-8”)<%@ page contentType="text/html;charset=UTF-8" language="java" %>

4、面向对象的软件设计概况

大致可分为 :客户端、通信协议、服务器端、数据存取终端。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!