HTTP 状态码详解:五大类与常见状态码解析

1. HTTP 状态码概述

HTTP 状态码是服务器对客户端请求的响应结果代码,用于表示请求的处理状态。它由三位数字组成,第一位数字定义了响应的类别,总共分为五大类。

2. HTTP 状态码五大类别

2.1 1xx - 消息通知

表示请求已被接收,需要继续处理。这类状态码是临时响应,客户端应等待服务器发送最终响应。

2.2 2xx - 成功

表示请求已成功被服务器接收、理解并接受。

2.3 3xx - 重定向

表示需要客户端采取进一步的操作才能完成请求。

2.4 4xx - 客户端错误

表示客户端可能发生了错误,妨碍了服务器的处理。

2.5 5xx - 服务端错误

表示服务器在处理请求的过程中发生了错误。

3. 常见 HTTP 状态码详解

3.1 2xx 成功状态码

200 OK
  • 含义:请求成功,服务器返回了请求的数据。
  • 场景:最常见的成功状态码,表示一切正常。
201 Created
  • 含义:请求成功,并且服务器创建了新的资源。
  • 场景:注册成功、订单创建成功、上传文件成功等。
204 No Content
  • 含义:请求成功,但服务器没有返回任何内容。
  • 场景:删除操作成功,服务器不需要返回资源。

3.2 3xx 重定向状态码

301 Moved Permanently
  • 含义:永久重定向。请求的资源已被永久移动到新位置。
  • 场景:网站改版、域名更换。
302 Found
  • 含义:临时重定向。请求的资源临时从不同的 URI 响应请求。
  • 场景:临时维护页面、A/B 测试。
304 Not Modified
  • 含义:资源未修改。客户端有缓存的版本,且服务器确认该缓存仍然有效。
  • 场景:浏览器发现本地缓存有效,服务器告诉浏览器无需重新下载资源。

3.3 4xx 客户端错误状态码

400 Bad Request
  • 含义:请求参数有问题。
  • 场景:请求格式错误、缺少必填字段、JSON 解析失败。
401 Unauthorized
  • 含义:未认证。请求要求身份验证,但客户端未提供有效的认证信息。
  • 场景:没有登录或登录信息已失效。
403 Forbidden
  • 含义:已认证,但没有权限。服务器理解请求,但拒绝执行。
  • 场景:有身份但没有访问该资源的资格(与 401 的区别:401 是没有身份,403 是有身份没权限)。
404 Not Found
  • 含义:资源不存在。服务器找不到请求的资源。
  • 场景:访问了不存在的 URL、文件已被删除。
405 Method Not Allowed
  • 含义:请求方式错误。请求行中指定的请求方法不能被用于请求相应的资源。
  • 场景:使用 GET 请求发送了 POST 请求、API 接口不支持该 HTTP 方法。
429 Too Many Requests
  • 含义:请求过于频繁。用户在给定的时间内发送了太多请求。
  • 场景:API 限流、防止暴力破解。

3.4 5xx 服务端错误状态码

500 Internal Server Error
  • 含义:服务器内部异常。服务器遇到了一个未曾预料的状况,导致无法完成对请求的处理。
  • 场景:网站文件错误、服务异常、数据库连接失败等。
502 Bad Gateway
  • 含义:网关错误。服务器作为网关或代理,从上游服务器收到无效响应。
  • 场景:Nginx 转发请求时,后端服务器挂了。
503 Service Unavailable
  • 含义:服务不可用。服务器目前无法使用(由于超载或停机维护)。
  • 场景:系统正在维护、服务器过载、临时下线。
504 Gateway Timeout
  • 含义:网关超时。服务器作为网关或代理,没有及时从上游服务器收到请求。
  • 场景:后端服务响应超时、网络延迟过高。

4. 总结

通过状态码的第一位数字,可以快速定位问题所在的层级:

  • 1xx:信息性状态码,请求处理中
  • 2xx:成功,请求已正确处理
  • 3xx:重定向,需要进一步操作
  • 4xx:客户端错误,检查请求参数和权限
  • 5xx:服务端错误,服务器端出现问题

掌握这些常见的 HTTP 状态码,能够帮助开发者快速定位和解决问题,提升开发和调试效率。

相关推荐
我星期八休息13 小时前
扩展—DNS与ICMP
linux·服务器·网络
MC皮蛋侠客13 小时前
DNP3 系列(三):伪传输层——分段、重组与可靠传输
网络·dnp3
筝筝ba14 小时前
linux 查询当前登录的用户数量
linux·服务器·网络
ShiXZ21314 小时前
网络调试四剑客:ping / telnet / nc / netstat 速查指令集
运维·开发语言·网络·php
snow@li15 小时前
Telnet 全景教程:全平台安装、命令使用、故障排查与安全规范
运维·网络
随风而飘18615 小时前
罗德与施瓦茨 FSP13 中高端频谱分析仪
网络·功能测试·测试工具
SendTomo15 小时前
SendTomo稳定传输三大核心策略
javascript·网络协议·webrtc·html5·p2p
旗开得胜马到成功16 小时前
AMD TPM 8.3/8.5漏洞技术剖析:服务器加密信任根崩塌后的备份密钥泄露风险与紧急加固
运维·服务器·网络·系统架构
CANWeb冗余现场总线16 小时前
2毫秒扫描周期以太网Modbus TCP UDP高速通信:西门子SMART PLC+CANWeb现场总线远程扩展IO模块
网络协议·tcp/ip·udp
阿pin16 小时前
HTTP 与 HTTPS 详解
网络协议·http·https