HTTP 状态码是服务器在响应客户端请求时返回的代码,用于表示当前请求的处理状态。在网站开发与 SEO 优化过程中,理解和掌握常见的 HTTP 状态码至关重要,能够帮助我们诊断服务器与程序的运行状况,判断网页当前所处状态。因此,熟悉不同状态码所代表的含义,对于保障网站正常运转和优化用户体验具有重要意义。
HTTP 响应状态码用于标识特定 HTTP 请求的完成状态。您可通过在线工具(如 “HTTP 状态码在线查询”)快速查阅具体含义。所有状态码分为五大类:信息响应 (100–199)、成功响应 (200–299)、重定向 (300–399)、客户端错误 (400–499) 与服务器错误 (500–599)。
1. HTTP Status Code 1xx 请求信息
这一组状态码表明这是一个临时性响应。此响应仅由状态行和可选的 HTTP 头组成,以一个空行结尾。由于 HTTP/1.0 未定义任何 1xx 状态码,所以不要向 HTTP/1.0 客户端发送 1xx 响应。
| 状态码 | 名称 | 状态码说明 |
|---|---|---|
| 100 | Continue | 表示服务器已收到请求头部,客户端应继续发送请求正文。 |
| 101 | Switching Protocols | 服务器正在根据客户端请求切换通信协议(如升级到 WebSocket)。 |
| 102 | Processing | 服务器已接收并正在处理请求,但尚未完成响应。 |
| 103 | Early Hints | 用于在最终 HTTP 响应之前预先返回部分响应头信息。 |
2. HTTP Status Code 2xx 成功状态
这一组状态码属于临时响应,表示服务器已收到请求头,并通知客户端可以继续执行请求流程。
| 状态码 | 名称 | 状态码说明 |
|---|---|---|
| 200 | OK | 请求成功。成功的含义取决于 HTTP 方法。 |
| 201 | Created | 请求已成功,并因此创建了一个新的资源。 |
| 202 | Accepted | 服务器已接受请求,但尚未处理完成。 |
| 203 | Non-Authoritative Information | 服务器已成功处理请求,但返回的信息可能来自另一来源。 |
| 204 | No Content | 服务器成功处理了请求,但不需要返回任何实体内容。 |
| 205 | Reset Content | 服务器成功处理了请求,要求客户端重置文档视图。 |
| 206 | Partial Content | 服务器已经成功处理了部分 GET 请求。 |
| 207 | Multi-Status | 代表之后的消息体将是一个 XML 消息,并且可能依照之前子请求数量的不同,包含一系列独立的响应代码。 |
| 208 | Already Reported | DAV 绑定的成员已经在(多状态)响应之前的部分被列举,且未被再次包含。 |
| 226 | IM Used | 服务器已经完成了对资源的 GET 请求,并且响应是对当前实例应用的一个或多个实例操作结果的表示。 |
3. HTTP Status Code 3xx 重定向状态
这一组状态码表示需要客户端采取进一步操作以完成请求,通常用于实现重定向。新的目标地址会在本次响应的 Location 头字段中提供。
| 状态码 | 名称 | 状态码说明 |
|---|---|---|
| 300 | Multiple Choices | 被请求的资源有一系列可供选择的回馈信息,每个都有自己特定的地址和浏览器驱动的商议信息。 |
| 301 | Moved Permanently | 请求的资源已被永久的移动到新 URI,返回信息会包括新的 URI。 |
| 302 | Found | 请求的资源临时从不同的 URI 响应请求。 |
| 303 | See Other | 对应当前请求的响应可以在另一个 URI 上被找到,而且客户端应当采用GET的方式访问那个资源。 |
| 304 | Not Modified | 客户端有缓冲的文档并发出了一个条件性的请求,服务器告诉客户端,原来缓冲的文档还可以继续使用。 |
| 305 | Use Proxy | 被请求的资源必须通过指定的代理才能被访问。 |
| 307 | Temporary Redirect | 请求的资源临时从不同的 URI 响应请求。 |
| 308 | Permanent Redirect | 请求的资源已被永久的移动到新 URI,且未来所有请求都应使用新的 URI。 |
4. HTTP Status Code 4xx 客户端错误
这组状态码表示客户端请求有误,导致服务器无法处理。除非响应的是 HEAD 请求,否则服务器应返回一个描述当前错误情况的实体,并说明该错误是临时性还是永久性的。这些状态码适用于所有请求方法。浏览器应当将此类错误响应中包含的实体内容显示给用户。
| 状态码 | 名称 | 状态码说明 |
|---|---|---|
| 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过长(URI通常为网址),服务器无法处理。 |
| 415 | Unsupported Media Type | 服务器无法处理请求附带的媒体格式。 |
| 416 | Range Not Satisfiable | 客户端请求的范围无效。 |
| 417 | Expectation Failed | 服务器无法满足Expect的请求头信息。 |
| 418 | I'm a teapot | 服务器拒绝尝试用茶壶煮咖啡。 |
| 421 | Misdirected Request | 请求被指向到无法生成响应的服务器。 |
| 422 | Unprocessable Entity | 请求格式正确,但是由于含有语义错误,无法响应。 |
| 423 | Locked | 当前资源被锁定。 |
| 424 | Failed Dependency | 由于之前的某个请求发生的错误,导致当前请求失败。 |
| 425 | Too Early | 服务器不愿意冒风险来处理该请求,原因是处理该请求可能会被重放。 |
| 426 | Upgrade Required | 客户端应当切换到TLS/1.0。 |
| 428 | Precondition Required | 原始服务器要求请求是有条件的。 |
| 429 | Too Many Requests | 用户在给定的时间内发送了太多请求。 |
| 431 | Request Header Fields Too Large | 服务器不愿处理请求,因为一个或多个头字段过大。 |
| 451 | Unavailable For Legal Reasons | 该请求因法律原因不可用。 |
5. HTTP Status Code 5xx 服务器错误状态
该组状态码表示服务器在处理请求时遇到错误或发生异常,也可能因当前软硬件资源不足而无法完成请求。除非是对 HEAD 请求的响应,服务器必须返回一个实体,用于说明错误状态及其为临时性或永久性。对于此类错误响应,浏览器应向用户显示返回的实体内容。
| 状态码 | 名称 | 状态码说明 |
|---|---|---|
| 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 | 服务器在处理请求时检测到无限循环。 |
| 510 | Not Extended | 获取资源所需要的策略并没有被满足。 |
| 511 | Network Authentication Required | 客户端需要进行身份验证才能获得网络访问权限。 |
