HTTP 状态码完整梳理及适用场景

HTTP 状态码是服务器在响应客户端请求时返回的标准化代码,用于表示请求的处理状态。它们分为五类,以三位数字的第一位区分。以下是常见的 HTTP 状态码及其含义:

1xx(信息响应)

  • 100 Continue:客户端应继续发送请求的剩余部分(已发送部分被服务器接受)。
  • 101 Switching Protocols:服务器同意切换协议(如从 HTTP 升级到 WebSocket)。
  • 102 Processing:服务器已接收并正在处理请求,但尚未完成(用于长时间操作)。

2xx(成功)

  • 200 OK:请求成功,响应中包含请求的数据(如 GET 或 POST)。
  • 201 Created:资源已成功创建(常见于 POST 或 PUT 请求后)。
  • 202 Accepted:请求已接收,但处理尚未完成(异步操作)。
  • 204 No Content:请求成功,但响应中无返回内容(如 DELETE 请求后)。
  • 206 Partial Content:服务器返回部分内容(用于分块下载或断点续传)。

3xx(重定向)

  • 301 Moved Permanently:资源已永久移动到新 URL(浏览器会缓存此重定向)。
  • 302 Found:资源临时移动到新 URL(浏览器不会缓存,可能重复请求原 URL)。
  • 304 Not Modified:资源未修改,客户端可使用缓存版本(需配合 If-Modified-Since 等头使用)。
  • 307 Temporary Redirect:临时重定向,要求客户端保持原请求方法(如 POST 请求)。
  • 308 Permanent Redirect:永久重定向,要求客户端保持原请求方法。

4xx(客户端错误)

  • 400 Bad Request:请求格式错误(如参数缺失或语法错误)。
  • 401 Unauthorized:需要身份验证(如未提供有效 Token 或 Cookie)。
  • 403 Forbidden:服务器拒绝请求(权限不足,即使身份验证通过)。
  • 404 Not Found:请求的资源不存在。
  • 405 Method Not Allowed:请求方法不被允许(如用 GET 访问只支持 POST 的接口)。
  • 408 Request Timeout:服务器等待请求超时(客户端发送请求过慢)。
  • 409 Conflict:请求与服务器当前状态冲突(如重复创建资源)。
  • 429 Too Many Requests:客户端请求过于频繁(触发限流机制)。

5xx(服务器错误)

  • 500 Internal Server Error:服务器内部错误(通用错误,无具体信息)。
  • 501 Not Implemented:服务器不支持请求的功能(如未实现的 HTTP 方法)。
  • 502 Bad Gateway:网关或代理服务器从上游服务器收到无效响应。
  • 503 Service Unavailable:服务器暂时不可用(如维护或过载)。
  • 504 Gateway Timeout:网关或代理服务器等待上游服务器响应超时。
  • 505 HTTP Version Not Supported:服务器不支持请求的 HTTP 协议版本。

常见应用场景

  • 调试接口:遇到 4xx 时检查客户端请求格式或权限;遇到 5xx 时联系服务端排查。
  • SEO 优化:使用 301 而非 302 传递页面权重,避免 404 影响用户体验。
  • 缓存控制:利用 304 减少重复数据传输,提升性能。
  • 限流策略:通过 429 告知客户端调整请求频率。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值