HTTP响应状态码

RFC 标准把HTTP响应状态码分成了五类,用数字的第一位表示分类,而 0~99 不用,这样状态码的实际可用范围就大大缩小了,由 000~999 变成了 100~599。

需要注意的是,客户端和服务器都需要根据状态码进行对应的操作。

客户端作为请求的发起方,获取响应报文后,需要通过状态码知道请求是否被正确处理,是否要再次发送请求,如果出错了原因又是什么。这样才能进行下一步的动作,要么发送新请求,要么改正错误重发请求。

服务器端作为请求的接收方,也应该很好地运用状态码。在处理请求时,选择最恰当的状态码回复客户端,告知客户端处理的结果,指示客户端下一步应该如何行动。特别是在出错的时候,尽量不要简单地返 400、500 这样意思含糊不清的状态码。

五类具体的含义如下图:

1×× 提示信息,表示目前是协议处理的中间状态,还需要后续的操作
2×× 成功,报文已经收到并被正确处理
3×× 重定向,资源位置发生变动,需要客户端重新发送请求
4×× 客户端错误,请求报文有误,服务器无法处理
5×× 服务器错误,服务器在处理请求时内部发生了错误

需要注意的是,下方都是常用的方法。

具体分析

1××

偶尔能够遇到并看到的是"101 Switching Protocols",客户端使用 Upgrade 头字段,要求在 HTTP 协议的基础上改成其他的协议继续通信,比如 WebSocket。而如果服务器也同意变更协议,就会发送状态码 101,但这之后的数据传输就不会再使用 HTTP 了。

2××

状态 含义
200 OK 最常见的成功状态码,表示一切正常,服务器如客户端所期望的那样返回了处理结果
204 No Content 与200 OK有些相似,但是没有body数据,只有头部信息
206 Partial Content 与200 OK有些相似,body 里的数据不是资源的全部,而是其中的一部分。

3xx

状态 含义
301 Moved Permanently 永久重定向,表明当前URL已经永久不使用,需要使用Location后边URL进行重定向,浏览器不会缓存Location后边URL
302 Found 请求的资源还在,但需要暂时用另一个 URI 来访问,需要使用Location后边URL进行重定向,浏览器不会缓存Location后边URL
304 Not Modified 重定向已到缓存的文件

4xx

状态 含义
400 Bad Request 请求报文有错误,这里的错误指示比较模糊,尽量不要用这个状态
403 Forbidden 服务器禁止访问资源
404 Not Found 服务器资源没有找到,现在好多问题都返回这个状态码

5××

状态 含义
500 Internal Server Error 服务器发生错误的代码
501 Not Implemented 客户端请求的功能还不支持
502 Bad Gateway 表示服务器正常运行,但是后端服务器被访问时发生了错误
503 Service Unavailable 服务器繁忙,无法提供服务
相关推荐
金灰1 小时前
有关JS下隐藏的敏感信息
前端·网络·安全
~yY…s<#>1 小时前
【计算机网络】传输层协议UDP
网络协议·计算机网络·udp
椰椰椰耶2 小时前
【HTTP】请求“报头”(Host、Content-Length/Content-Type、User-Agent(简称 UA))
网络·网络协议·http
攸攸太上2 小时前
Docker学习
java·网络·学习·docker·容器
南 阳2 小时前
阿里开源多模态大模型Ovis1.6,重塑出海电商AI格局
网络·人工智能·chatgpt
DieSnowK2 小时前
[项目][WebServer][CGI机制 && 设计]详细讲解
linux·开发语言·c++·http·项目·webserver·cgi机制
看山还是山,看水还是。3 小时前
《网络通信原理》
http·网络安全·智能路由器·信息与通信·信号处理
黑客学长-刘备3 小时前
2024最新最全:Wireshark抓包详解(非常详细)零基础入门到精通,收藏这篇就够了
网络·测试工具·wireshark
网络研究院4 小时前
攻击者将恶意软件分解成小块并绕过您的安全网关
网络·网关·安全·攻击·技术·分块·分析
小哈里4 小时前
【云网络】软件定义网络SDN的概念与应用(以PVE8用户隔离,TLS证书介绍,自签证书等为例)
网络·https·云计算·虚拟化·sdn