HTTP 状态码是服务器在处理客户端请求时返回的数字代码,用于表示请求的结果。根据不同的含义,状态码被分为五大类:信息性、成功、重定向、客户端错误和服务器错误。
状态码分类
1xx — 信息性状态码
这些状态码表示请求已接收,继续处理。
状态码 | 描述 | 说明 |
---|
100 | Continue | 继续处理。客户端应继续发送请求的剩余部分。 |
101 | Switching Protocols | 切换协议。客户端请求服务器切换协议。 |
2xx — 成功状态码
这些状态码表示请求已成功被服务器处理。
状态码 | 描述 | 说明 |
---|
200 | OK | 请求成功。请求的响应体包含请求的数据。 |
201 | Created | 创建成功。请求成功并且服务器创建了新的资源。 |
202 | Accepted | 请求已接受,但尚未处理。服务器已接受请求,但没有立即处理。 |
204 | No Content | 请求成功,但没有返回任何内容。 |
206 | Partial Content | 部分内容响应。服务器仅发送部分资源,通常用于下载大文件时。 |
3xx — 重定向状态码
这些状态码表示客户端需要进一步操作以完成请求。
状态码 | 描述 | 说明 |
---|
300 | Multiple Choices | 多重选择。请求的资源有多种可能的响应。 |
301 | Moved Permanently | 永久移动。请求的资源已被永久移动到新的 URL。 |
302 | Found | 临时重定向。请求的资源临时被移动到新的 URL。 |
304 | Not Modified | 未修改。客户端缓存的资源没有改变,可以使用缓存的版本。 |
4xx — 客户端错误状态码
这些状态码表示请求包含语法错误或无法完成请求。
状态码 | 描述 | 说明 |
---|
400 | Bad Request | 错误请求。请求中存在语法错误,服务器无法理解。 |
401 | Unauthorized | 未授权。客户端请求需要身份验证。 |
403 | Forbidden | 禁止访问。服务器理解请求,但拒绝处理。 |
404 | Not Found | 未找到。请求的资源在服务器上没有找到。 |
405 | Method Not Allowed | 方法不允许。请求方法对所请求的资源不适用。 |
408 | Request Timeout | 请求超时。客户端请求在服务器等待期间超时。 |
409 | Conflict | 冲突。请求与服务器的当前状态冲突。 |
5xx — 服务器错误状态码
这些状态码表示服务器在处理请求时发生错误。
状态码 | 描述 | 说明 |
---|
500 | Internal Server Error | 服务器内部错误。服务器遇到错误,无法完成请求。 |
501 | Not Implemented | 未实现。服务器不支持请求的方法。 |
502 | Bad Gateway | 错误网关。服务器作为网关或代理时,收到无效响应。 |
503 | Service Unavailable | 服务不可用。服务器暂时无法处理请求,通常是由于过载。 |
504 | Gateway Timeout | 网关超时。作为网关或代理的服务器没有及时从上游服务器收到请求。 |
505 | HTTP Version Not Supported | 不支持的 HTTP 版本。服务器不支持请求中使用的 HTTP 版本。 |
小结
2xx 状态码表示请求成功。
3xx 状态码表示需要客户端进一步操作。
4xx 状态码表示客户端请求有误。
5xx 状态码表示服务器发生错误。
理解和正确处理 HTTP 状态码对于开发和调试 web 应用至关重要。希望这份文档能帮助你更好地理解这些常见的状态码及其使用场景。
评论区