HTTP——状态码(转发和重定向)
发布日期:2021-05-08 06:38:29 浏览次数:19 分类:精选文章

本文共 1594 字,大约阅读时间需要 5 分钟。

状态码分类与详细说明

状态码是HTTP协议中用于描述请求处理结果的一组数字代码。状态码分为五大类,每类对应特定的错误类型或处理结果。以下是各类状态码的详细说明:

Ⅰ 2XX表明请求被正常处理了

200 OK:客户端发来的请求被服务端正常处理了。
204 No Content:请求处理成功,但返回的报文中不含实体的主体部分(浏览器页面不会发生更新)。
206 Partial Content:客户端发起了范围请求,服务器处理成功,返回了由Content-Range指定范围的实体内容。

Ⅱ 3XX表明浏览器需要执行某些特殊的处理才能正确处理请求

301 Moved Permanently:请求的资源已被分配了新的URI(永久性重定向)。
302 Found:资源临时被分配了新的URI(临时性重定向)。
303 See Other:303状态码和302 Found状态码有着相同的功能,但是303状态码明确表示客户端应当采用GET方法获取资源。
304 Not Modified:客户端发送附带条件的请求时,服务端允许请求访问资源,但因发生请求未满足条件的情况后,直接返回304 Not Modified。自从上次请求后,请求的网页未被修改过,服务器返回此响应时,不会返回网页内容。
307 Temporary Redirect:临时重定向,和302功能相同,只不过307 Temporary Redirect明确规定了不会从POST变为GET,即期望客户端保持请求方法不变向新的地址发出请求。

注意:

301、302标准是禁止将POST方法改变成GET方法的,但实际使用时,大家都这么做。

Ⅲ 4XX表示客服端处发生错误

400 Bad Request:请求报文中存在语法错误。一般都是参数问题,比如参数类型不匹配、少传参等。
401 Unauthorized:表示发送的请求需要有通过HTTP认证(BAISC认证、DIGEST认证)的认证信息。第一次返回401时会弹出认证用的对话窗口,第二次返回表示用户认证失败。
403 Forbidden:请求资源的访问被服务器拒绝了。
404 Not Found:服务器无法找到请求的资源。

Ⅳ 5XX表示服务器本身发生错误

500 Internal Server Error:服务端在执行请求时发生了错误,一般都是服务端代码出错。
502 Bad Gateway:作为网关或者代理工作的服务器尝试执行请求时,从上游服务器接收到无效的响应。
504 Gateway Time-out:作为网关或者代理工作的服务器尝试执行请求时,服务器无响应。
503 Service Unavailable:服务器暂时处于超负载或正在进行停机维护,现在无法处理请求。

注意:

200 OK一切正常
301 Moved Permanently永久移走
302 Move temporarily临时移走
307 Temporary Redirect临时重定向
404 Not Found请求的资源不存在
500 Internal Server Error服务器内部错误

重定向与转发的区别

转发:服务器内部进行处理转发,是一次请求。

重定向:客户发送一个请求到服务器,服务器向客户端返回一个响应,响应行告诉客户端你必须要再发送一个请求。

区别:

请求次数:重定向是浏览器向服务器发送一个请求并收到响应后再次向一个新地址发出请求,转发是服务器收到请求后为了完成响应跳转到一个新的地址;重定向至少请求两次,转发请求一次。
地址栏不同:重定向地址栏会发生变化,转发地址栏不会发生变化。
是否共享数据:重定向两次请求不共享数据,转发一次请求共享数据。
跳转限制:重定向可以跳转到任意URL,转发只能跳转本站点资源;
发生行为不同:重定向是客户端行为,转发是服务器端行为。

上一篇:JavaWeb15:Servlet项目配置
下一篇:Java编程题:数字和为sum的方法数(动态规划——背包问题)

发表评论

最新留言

逛到本站,mark一下
[***.202.152.39]2025年04月06日 03时22分49秒