HTTP响应码科普(合集)与解决办法

HTTP响应码合集

1xx(临时响应):信息性状态码

  • 100 Continue:客户端应当继续发送请求。
  • 101 Switching Protocols:服务器将切换协议;只能在Upgrade首部字段定义的协议间切换。

2xx(成功):成功状态码

  • 200 OK:请求已成功处理。
  • 201 Created:已创建新资源。
  • 202 Accepted:已接受请求,但未完成处理。
  • 203 Non-Authoritative Information:返回的信息来自第三方,并且服务器对此不负责。
  • 204 No Content:请求已成功处理,但无内容返回。
  • 205 Reset Content:请求已成功处理,客户端应重置文档视图。
  • 206 Partial Content:服务器成功执行了部分 GET 请求。

3xx(重定向):重定向状态码

  • 300 Multiple Choices:多种选择,通常用于提供选择列表。
  • 301 Moved Permanently:永久性移动,请求的 URI 已被新的 URI 替代。
  • 302 Found:临时性移动,与307 Temporary Redirect类似,但在历史上常用于实现重定向。
  • 303 See Other:请求的资源可在不同的 URI 下被找到,客户端应当使用 GET 方法获取资源。
  • 304 Not Modified:如果客户端有缓存的文档副本,则可继续使用它。
  • 307 Temporary Redirect:临时重定向,请求方法、请求体不会发生变化。
  • 308 Permanent Redirect:类似于301,但是强制要求请求方法保持不变。

4xx(客户端错误):客户端错误状态码

  • 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头的请求。
  • 412 Precondition Failed:请求中的前提条件未得到满足。
  • 413 Payload Too Large:请求实体太大。
  • 414 URI Too Long:请求URI过长,超过了服务器能够处理的长度。
  • 415 Unsupported Media Type:服务器不支持请求中所包含的数据格式。
  • 416 Range Not Satisfiable:请求范围不符合任何当前资源的子范围。
  • 417 Expectation Failed:服务器未能满足Expect请求头的要求。
  • 421 Misdirected Request:请求应该被发送到其他地方,这里无法处理。
  • 422 Unprocessable Entity(WebDAV):请求格式正确,但因语义错误而无法处理。
  • 423 Locked(WebDAV):资源被锁定。
  • 424 Failed Dependency(WebDAV):由于依赖项失败,请求无法完成。
  • 426 Upgrade Required:服务器拒绝处理请求,除非升级到一个更高级别的协议。
  • 428 Precondition Required:服务器要求该请求应有一个前提条件。
  • 429 Too Many Requests:客户端发起的请求数量过多,超出了服务器的处理能力。
  • 431 Request Header Fields Too Large:请求头部字段过大。
  • 451 Unavailable For Legal Reasons:资源因法律原因不可用。

5xx(服务器错误):服务器错误状态码

  • 500 Internal Server Error:服务器遇到了意外情况,无法完成请求。
  • 501 Not Implemented:服务器不支持请求的功能。
  • 502 Bad Gateway:服务器作为网关或代理时收到了无效响应。
  • 503 Service Unavailable:服务器暂时无法处理请求,通常由于过载或维护。
  • 504 Gateway Timeout:服务器作为网关或代理时,未能及时从上游服务器收到响应。
  • 505 HTTP Version Not Supported:服务器不支持请求使用的HTTP协议版本。
  • 506 Variant Also Negotiates:服务器遇到透明内容协商问题。
  • 507 Insufficient Storage:服务器无法存储完成请求所需的内容。
  • 508 Loop Detected(WebDAV):检测到请求循环。
  • 510 Not Extended:服务器不满足客户端在扩展机制中所需的扩展。
  • 511 Network Authentication Required:客户端需要通过网络认证才能访问资源。

解决办法

  1. 400 Bad Request 解决办法:检查并修正客户端请求的语法或参数,确保与服务器端API要求相符。
  2. 401 Unauthorized 解决办法:确保正确提供身份验证信息(如用户名、密码或访问令牌),如有权限问题则需申请或调整权限。
  3. 403 Forbidden 解决办法:同上,特别关注权限不足的问题。
  4. 404 Not Found 解决办法:核实请求URL是否正确,若资源已移动或删除,请更新客户端请求地址。
  5. 405 Method Not Allowed 解决办法:确认客户端使用的HTTP方法(GET, POST, PUT, DELETE等)与服务器支持的方法匹配。
  6. 408 Request Timeout 解决办法:优化客户端请求速度和网络连接质量,或延长服务器超时限制。
  7. 409 Conflict 解决办法:当请求因并发操作导致冲突时,客户端需重新获取最新资源状态并据此调整请求内容。
  8. 410 Gone 解决办法:资源被永久删除,客户端应移除对已删除资源的引用,并按业务需求寻找替代资源或通知用户。
  9. 411 Length Required 解决办法:对于需要Content-Length头部的请求,确保发送请求时正确设置了该字段。
  10. 412 Precondition Failed (未在列表中但通常位于此位置) 解决办法:检查前提条件(如If-Match, If-Unmodified-Since等)是否满足服务器的要求。
  11. 415 Unsupported Media Type 解决办法:在POST/PUT等请求中,确保请求体数据格式与Content-Type声明的媒体类型一致。
  12. 416 Range Not Satisfiable (未在列表中但通常位于此位置) 解决办法:检查请求范围是否符合服务器上的可用资源范围。
  13. 417 Expectation Failed 解决办法:检查和修正Expect头部值,确保服务器支持期望的功能(如100-Continue)。
  14. 422 Unprocessable Entity (WebDAV) 解决办法:修正请求体内容以满足服务器端的数据验证规则。
  15. 423 Locked (WebDAV) (未在列表中但通常位于此位置) 解决办法:资源被锁定,根据具体场景解锁资源或稍后再试。
  16. 425 Too Early (RFC 8470) 解决办法:在HTTP/2或QUIC协议中,避免过早发送请求,等待服务器准备好后再发起请求。
  17. 426 Upgrade Required 解决办法:按照Upgrade头部指示升级到服务器所需的新协议版本。
  18. 428 Precondition Required 解决办法:按照服务器指示,在请求中添加适当HTTP头部字段以满足资源操作的前提条件。
  19. 429 Too Many Requests 解决办法:降低请求频率以符合服务器速率限制策略,必要时可申请更高的请求限额。
  20. 406 Not Acceptable 解决办法:检查并修改客户端Accept头部以接受更广泛的媒体类型。
  21. 304 Not Modified 解决办法:允许客户端继续使用缓存资源,并确保HTTP缓存策略设置合理,利用ETag或Last-Modified头部进行条件请求。
  22. 3xx 系列重定向 解决办法:遵循响应头中的Location字段,自动或手动将请求重定向至新URI。
  23. 500 Internal Server Error 解决办法:排查服务器日志以定位内部错误并修复。针对特定场景,可能涉及代码错误修复或依赖服务故障排查。
  24. 501 Not Implemented (未在列表中但通常位于此位置) 解决办法:服务器不支持请求的功能,需要评估是否能实现或替换为其他功能。
  25. 502 Bad Gateway 解决办法:对于暂时性故障,稍后重试请求;如果是配置或第三方服务问题,则进行相应排查和修复。
  26. 503 Service Unavailable 解决办法:等待一段时间后再次尝试,或根据情况增加服务器资源,改进服务稳定性。
  27. 504 Gateway Timeout 解决办法:同上,主要针对网关或代理超时问题。
  28. 507 Insufficient Storage 解决办法:清理存储空间或扩展云存储容量,释放足够空间完成请求。
  29. 509 Bandwidth Limit Exceeded 解决办法:联系服务提供商了解带宽限制政策,并考虑升级服务套餐以获得更高的带宽限制。
  30. 511 Network Authentication Required 解决办法:遵循WWW-Authenticate头部指示,执行网络层身份验证。
  31. 403 Forbidden - CORS 跨域问题 解决办法:配置正确的CORS策略,允许跨域请求,包括设置Access-Control-Allow-Origin、Access-Control-Allow-Methods等头部。
  32. 401 Unauthorized - OAuth 或 JWT 解决办法:确保客户端在请求时携带正确的访问令牌(Access Token),若令牌过期则重新获取。
  33. 502 Bad Gateway - 后端服务故障 解决办法:检查并恢复后端依赖服务的状态,例如数据库、缓存、消息队列等。
  34. 503 Service Unavailable - 高并发场景 解决办法:优化负载均衡策略,增加服务器资源,实施限流和熔断机制以保持服务稳定。
  35. 451 Unavailable For Legal Reasons 解决办法:遇到法律原因导致资源不可用时,客户端可根据情况通知用户并提供合法替代方案。
  36. 450 Blocked by Windows Parental Controls (非标准) 解决办法:调整Windows家长控制设置以允许访问所需的网络资源。
  37. 495 SSL Certificate Error (非标准) 解决办法:确保客户端具有有效的SSL证书并配置正确信任链,或联系服务提供商解决服务器端SSL证书问题。
  38. 496 SSL Certificate Required (非标准) 解决办法:为客户端配置合适的客户端证书,并在请求时附带提供。
  39. 497 HTTP Request Sent to HTTPS Port (非标准) 解决办法:确保客户端向正确的协议端口发送请求,即HTTP请求发往HTTP端口,HTTPS请求发往HTTPS端口。
  40. 520 Unknown Error (Cloudflare) (非标准) 解决办法:排查可能的原因,包括但不限于服务器配置、DNS问题、网络连接问题,并与Cloudflare支持团队合作解决问题。
阅读剩余
本文最后更新于2024-03-5部分内容具有时效性,如有失效,请留言
THE END