HTTP 状态码有哪些类别及其常见的含义是什么?
HTTP 状态码分为五种主要类型:1xx 信息、2xx 成功、3xx 重定向、4xx 客户端错误和 5xx 服务器错误。常见如 200 OK, 301 永久重定向,304 未修改,401 未经授权及 503 服务不可用。
HTTP 状态码是服务器用来表示 HTTP 请求处理结果的三位数字代码,遵循 RFC 规范标准。它们广泛应用于客户端与服务器之间的通信中。
HTTP 状态码分类
- 1xx(信息性状态码):表示请求已接收,处理仍在继续。例如:
100 Continue
:客户端应继续发送剩余的请求体。101 Switching Protocols
:服务端已同意协议切换。
- 2xx(成功状态码):表示请求已被成功处理。此类状态码反映客户端操作的正常完成。
- 3xx(重定向状态码):表示需要额外操作(如资源位置变更)才能完成请求。包括服务器提示的资源移动或重定向。
- 4xx(客户端错误状态码):表示请求中存在语法错误或非法操作。由客户端问题引起处理失败。
- 5xx(服务器错误状态码):表示服务器在处理请求时遭遇故障。属于服务器端错误,如硬件故障或过载。
常见状态码含义
- 200(OK):请求成功处理,响应中包含请求的数据。适用于 GET 或 POST 请求。
- 301(Moved Permanently):请求的资源已被移至新位置,且该移动为永久性。客户端应用新 URL(例如网站结构改动)。
- 304(Not Modified):客户端缓存已是最新,无需服务器返回内容。用于缓存校验,如客户端发送 If-Modified-Since 等条件后。
- 401(Unauthorized):未通过身份认证,服务器拒绝处理。表示用户需提供有效凭据。
- 503(Service Unavailable):服务器暂无法处理请求,例如过载或维护状态。建议客户端稍后重试。
额外关键点
- 状态码帮助诊断网络问题,开发中使用工具如 Fiddler 可监控其行为。
- 涉及缓存机制(如 304)可优化性能,减少带宽和查询延迟。
以上内容整合了 HTTP 状态码的核心分类和常见案例说明。