程序员最想看到的:200-OK。
程序员不想看到的:500-Internal-Server-Error。
用户不想看到的:401-Unauthorized、403-Forbidden、408-Request-Time-out、404-not-found
当浏览者访问一个网页时,浏览者的浏览器会向网页所在服务器发出请求。当浏览器接收并显示网页前,此网页所在的服务器会返回一个包含 HTTP 状态码的信息头(server header)用以响应浏览器的请求。
HTTP 状态码( HTTP Status Code)分类
- 100–199(信息响应状态码):表示接收的请求正在处理。
- 200–299(成功状态码):表示请求正常处理完毕。
- 300–399(重定向状态码):需要后续操作才能完成这一请求。
- 400–499(客户端错误状态码):表示请求包含语法错误或无法完成。
- 500–599(服务器错误状态码):服务器在处理请求的过程中发生了错误。
分类 | 分类描述 |
---|---|
1** | 信息,服务器收到请求,需要请求者继续执行操作 |
2** | 成功,操作被成功接收并处理 |
3** | 重定向,需要进一步的操作以完成请求 |
4** | 客户端错误,请求包含语法错误或无法完成请求 |
5** | 服务器错误,服务器在处理请求的过程中发生了错误 |
状态码 | 状态码英文名称 | 中文描述 |
---|---|---|
100 | Continue | 继续。客户端应继续其请求 |
101 | Switching Protocols | 服务器同意切换协议(如升级到WebSocket)。服务器根据客户端的请求切换协议。只能切换到更高级的协议,例如,切换到HTTP的新版本协议 |
102 | Processing (WebDAV): | 服务器处理中,需等待 |
103 | Early Hints: | 预加载资源提示 |
200 | OK | 请求成功。一般用于GET与POST请求 |
201 | Created | 资源已创建(如POST请求后)。成功请求并创建了新的资源 |
202 | Accepted | 请求已接受但未处理完成 |
203 | Non-Authoritative Information | 非授权信息。请求成功。返回的元信息非原始服务器版本,而是一个副本 |
204 | No Content | 无内容。服务器成功处理,但未返回内容。在未更新网页的情况下,可确保浏览器继续显示当前文档(如DELETE成功) |
205 | Reset Content | 重置内容。服务器处理成功,用户终端(例如:浏览器),需客户端重置视图。可通过此返回码清除浏览器的表单域 |
206 | Partial Content | 部分内容。服务器成功处理了部分GET请求(用于分块下载) |
207 | Multi-Status (WebDAV) | 多资源状态报告 |
208 | Already Reported (WebDAV) | 资源状态已重复报告 |
226 | IM Used | 服务器已完成对实例的请求 |
300 | Multiple Choices | 多种选择。请求的资源可包括多个位置,相应可返回一个资源特征与地址的列表用于用户终端(需客户端选择) |
301 | Moved Permanently | 永久移动。请求的资源已被永久的移动到新URI,返回信息会包括新的URL,浏览器会自动定向到新URI。今后任何新的请求都应使用新的URI代替 |
302 | Found | 资源临时重定向。与301类似。客户端应继续使用原有URL |
303 | See Other | 需通过GET访问另一URL。与301类似,使用GET和POST请求查看 |
304 | Not Modified | 资源未修改(缓存有效) |
305 | Use Proxy | 需通过代理访问(已弃用) |
306 | Unused | 已经被废弃的HTTP状态码 |
307 | Temporary Redirect | 临时重定向。与302类似(保留请求方法) |
308 | Permanent Redirect | 永久重定向(保留请求方法) |
400 | Bad Request | 客户端请求的语法错误,服务器无法理解 |
401 | Unauthorized | 请求用户的身份需验证 |
402 | Payment Required | 保留,(未广泛使用) |
403 | Forbidden | 服务器理解请求客户端的请求,但拒绝执行此请求 |
404 | Not Found | 资源不存在,服务器无法根据客户端的请求找到资源(网页)。 |
405 | Method Not Allowed | 客户端请求中的方法被禁止(HTTP方法不被允许) |
406 | Not Acceptable | 服务器无法生成客户端接受的响应 |
407 | Proxy Authentication Required | 请求代理的身份认证,请求者应当使用代理进行授权 |
408 | Request Time-out | 服务器等待客户端发送的请求时间过长,请求超时 |
409 | Conflict | 请求与资源状态冲突,服务器完成客户端的 PUT 请求时可能返回此代码 |
410 | Gone | 资源已永久删除 |
411 | Length Required | 需指定Content-Length的请求信息 |
412 | Precondition Failed | 客户端请求信息的先决条件错误(请求头条件不满足) |
413 | Request Entity Too Large | 由于请求的实体过大,服务器无法处理,因此拒绝请求。为防止客户端的连续请求,服务器可能会关闭连接。如果只是服务器暂时无法处理,则会包含一个Retry-After的响应信息 |
414 | Request-URI Too Large | 请求的URI过长(URI通常为网址),服务器无法处理 |
415 | Unsupported Media Type | 服务器无法处理请求附带的媒体格式(不支持的媒体类型) |
416 | Requested range not satisfiable | 客户端请求的范围无效 |
417 | Expectation Failed(预期失败) | Expect请求头无法满足指定的预期行为。 |
418 | I'm a teapot(RFC 2324) | 状态码 418 实际上是一个愚人节玩笑。它在 RFC 2324 中定义,该 RFC 是一个关于超文本咖啡壶控制协议(HTCPCP)的笑话文件。在这个笑话中,418 状态码是作为一个玩笑加入到 HTTP 协议中的。 |
421 | Misdirected Request | 请求被发到错误服务器 |
422 | Unprocessable Entity (WebDAV) | 语义错误无法处理 |
423 | Locked (WebDAV) | 资源被锁定 |
424 | Failed Dependency (WebDAV) | 依赖请求失败 |
425 | Too Early | 服务器拒绝处理可能重复的请求 |
426 | Upgrade Required | 需升级协议(如HTTP/1.1→HTTP/2) |
428 | Precondition Required | 需条件请求头 |
429 | Too Many Requests | 请求过于频繁 |
431 | Request Header Fields Too Large | 请求头过大 |
451 | Unavailable For Legal Reasons | 因法律原因不可用 |
500 | Internal Server Error | 服务器内部错误,无法完成请求 |
501 | Not Implemented | 服务器不支持的请求功能 |
502 | Bad Gateway | 网关/代理服务器收到无效响应 |
503 | Service Unavailable | 服务不可用(临时过载)。延时的长度可包含在服务器的Retry-After头信息中 |
504 | Gateway Time-out | 网关超时。充当网关或代理的服务器,未及时从远端服务器获取请求 |
505 | HTTP Version not supported | 服务器不支持请求的HTTP协议的版本,无法完成处理 |
506 | Variant Also Negotiates | 内容协商循环错误 |
507 | Insufficient Storage (WebDAV) | 服务器存储空间不足 |
508 | Loop Detected (WebDAV) | 操作导致无限循环 |
510 | Not Extended | 需扩展请求头 |
511 | Network Authentication Required | 请求需要网络身份验证 |