HTTP状态码
HTTP 状态码用于指示 HTTP 请求的处理结果。状态码分为五类,每类有特定的含义:
1. 1xx:信息性状态码
- 100 Continue:表示初始部分已成功接收,客户端应继续请求或忽略此响应。
- 101 Switching Protocols:服务器将协议从 HTTP 切换到另一协议。
2. 2xx:成功状态码
- 200 OK:请求成功,服务器已返回所请求的数据。
- 201 Created:请求成功,服务器创建了一个新的资源。
- 202 Accepted:请求已接受,但尚未处理。
- 203 Non-Authoritative Information:服务器成功处理了请求,但返回的元信息可能来自另一来源。
- 204 No Content:服务器成功处理了请求,但没有返回任何内容。
- 205 Reset Content:服务器成功处理了请求,但要求客户端重置视图。
- 206 Partial Content:服务器成功处理了部分 GET 请求。
3. 3xx:重定向状态码
- 300 Multiple Choices:请求的资源有多个可用的表示,客户端需要选择一个。
- 301 Moved Permanently:请求的资源已被永久移动到新位置,新的 URL 在
Location头部中给出。 - 302 Found:请求的资源临时移动到新位置,新的 URL 在
Location头部中给出。 - 303 See Other:请求的资源可以在另一个 URL 处找到,客户端应使用 GET 方法请求新的 URL。
- 304 Not Modified:资源未被修改,客户端可以使用缓存中的副本。
- 305 Use Proxy:请求的资源必须通过代理访问,代理的 URL 在
Location头部中给出。 - 306 Switch Proxy:此状态码已废弃。
- 307 Temporary Redirect:请求的资源临时移动到新位置,客户端应继续使用原方法请求新位置。
- 308 Permanent Redirect:请求的资源永久移动到新位置,客户端应使用原方法请求新位置。
4. 4xx:客户端错误状态码
- 400 Bad Request:请求无效或无法理解。
- 401 Unauthorized:请求未经授权,必须进行身份验证。
- 402 Payment Required:保留状态码,未来可能会用于要求付款。
- 403 Forbidden:服务器理解请求,但拒绝处理。
- 404 Not Found:请求的资源未找到。
- 405 Method Not Allowed:请求的方法不被允许。
- 406 Not Acceptable:请求的资源无法满足客户端的 Accept 头部指定的条件。
- 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 头部中的期望。
5. 5xx:服务器错误状态码
- 500 Internal Server Error:服务器遇到意外情况,无法完成请求。
- 501 Not Implemented:服务器不支持请求的方法。
- 502 Bad Gateway:服务器作为网关或代理时收到无效响应。
- 503 Service Unavailable:服务器当前无法处理请求,通常是因为过载或维护。
- 504 Gateway Timeout:服务器作为网关或代理时,未能及时从上游服务器接收请求。
- 505 HTTP Version Not Supported:服务器不支持请求中使用的 HTTP 协议版本。
这些状态码帮助客户端理解服务器对请求的处理结果,并根据需要采取相应的行动。