HTTP 状态码参考
开发
可搜索的 HTTP 状态码大全,按五大类分组:信息(1xx)、成功(2xx)、重定向(3xx)、客户端错误(4xx)、服务器错误(5xx)。可按代码(404)、名称(Not Found)或描述关键词(cache、timeout)搜索。每张卡片附一行说明与复制按钮,便于贴入评论或提交信息。
- 100Continue
The initial part of the request has been received and the client should continue sending the rest.
- 101Switching Protocols
The server is switching protocols as requested in the Upgrade header (e.g., to WebSocket).
- 102Processing
The server has received and is processing the request, but no response is available yet (WebDAV).
- 103Early Hints
Used to preload resources while the server prepares the final response.
- 200OK
The request succeeded. The meaning depends on the HTTP method used.
- 201Created
The request succeeded and a new resource was created — typically returned after POST.
- 202Accepted
The request was accepted for processing, but the processing has not been completed.
- 204No Content
The request succeeded but no body is returned — common for PUT or DELETE.
- 205Reset Content
Tells the client to reset the view that sent the request (e.g., clear a form).
- 206Partial Content
Returned when the client used the Range header to request a portion of the resource.
- 207Multi-Status
WebDAV — multiple resources, each with its own status code, returned inside an XML body.
- 301Moved Permanently
The resource has a new permanent URL. Search engines update their index to the new location.
- 302Found
The resource is temporarily at a different URL — client should keep using the original URL for future requests.
- 303See Other
After a POST, redirect the client to GET another resource (PRG pattern).
- 304Not Modified
The cached version is still fresh — the client should use its cache.
- 307Temporary Redirect
Like 302, but the request method must not change on the redirect.
- 308Permanent Redirect
Like 301, but the request method must not change on the redirect.
- 400Bad Request
The server cannot process the request due to a client-side error (malformed syntax, missing required fields).
- 401Unauthorized
Authentication is required and either missing or invalid. The response should include a WWW-Authenticate header.
- 402Payment Required
Reserved for future use — sometimes used by APIs to indicate billing-related failures.
- 403Forbidden
The server understood the request but refuses to authorize it. Authentication will not help.
- 404Not Found
The requested resource does not exist on the server.
- 405Method Not Allowed
The HTTP method is not supported for this resource (e.g., POST to a read-only endpoint).
- 406Not Acceptable
The server cannot return a response matching the Accept headers from the request.
- 407Proxy Authentication Required
Authentication with a proxy is required to access the resource.
- 408Request Timeout
The server did not receive a complete request within its idle timeout.
- 409Conflict
The request conflicts with the current state of the resource (e.g., concurrent edits).
- 410Gone
The resource is permanently gone — stronger than 404; tells caches and search engines to drop it.
- 411Length Required
The request did not specify a Content-Length, which this server requires.
- 412Precondition Failed
A condition in the request headers (e.g., If-Match) was not met.
- 413Payload Too Large
The request body is larger than the server is willing to process.
- 414URI Too Long
The URI is longer than the server is willing to interpret.
- 415Unsupported Media Type
The Content-Type of the request is not supported by the server.
- 416Range Not Satisfiable
The Range header cannot be fulfilled (out of the resource bounds).
- 417Expectation Failed
The Expect header could not be fulfilled by the server.
- 418I'm a teapot
An April Fools joke from RFC 2324 — used as an Easter egg in some APIs.
- 422Unprocessable Entity
The request is syntactically correct but semantically wrong (failed validation). Common in REST APIs.
- 423Locked
WebDAV — the resource is locked.
- 424Failed Dependency
WebDAV — the request failed because a previous request it depended on failed.
- 425Too Early
The server is unwilling to risk processing a request that may be replayed.
- 426Upgrade Required
The client should upgrade to a different protocol (e.g., TLS).
- 428Precondition Required
The server requires the request to be conditional (e.g., If-Match).
- 429Too Many Requests
The client has sent too many requests in a given time — rate limited. Look for Retry-After.
- 431Request Header Fields Too Large
The request headers are too large in total or individually.
- 451Unavailable For Legal Reasons
The resource is blocked due to a legal demand (named after Ray Bradbury's Fahrenheit 451).
- 500Internal Server Error
A generic server error — something failed and the server has no more specific message.
- 501Not Implemented
The server does not support the functionality required to fulfill the request.
- 502Bad Gateway
Acting as a gateway / proxy, the server got an invalid response from an upstream server.
- 503Service Unavailable
The server is temporarily unable to handle requests — overloaded or down for maintenance.
- 504Gateway Timeout
Acting as a gateway / proxy, the server did not get a response from an upstream server in time.
- 505HTTP Version Not Supported
The HTTP version in the request is not supported by the server.
- 507Insufficient Storage
WebDAV — the server cannot store the representation needed to complete the request.
- 508Loop Detected
WebDAV — the server detected an infinite loop while processing the request.
- 511Network Authentication Required
The client must authenticate to gain network access (used by captive portals).
使用方法
- 用彩色标签按类别筛选。
- 在搜索框输入代码、名称或描述关键词以缩小范围。
- 用标题旁的按钮复制状态码。
常见问题
- 为什么 1xx 也重要?
- 终端代码很少见到,但在进阶场景下有用——100 Continue 让客户端在发送大上传前确认服务端接受;103 Early Hints 在服务端准备响应时让浏览器预加载资源。
- 301 与 308 区别?
- 都表示「永久移动」。301 允许重定向时更改 HTTP 方法(多数 POST → GET)。308 强制保持原方法。API 重定向用 308,老式网页用 301。
- 422 vs 400 何时用?
- 400 表示请求本身有问题(JSON 不合法、缺少头)。422 表示语法正确但语义错误(例如 email 字段是字符串但不是有效邮箱)。
- 418 'I'm a teapot' 是什么?
- RFC 2324(HTCPCP — 超文本咖啡壶控制协议)的愚人节笑话。部分 API 用作彩蛋或「故意未实现」的信号。