状态码 | 名称 | 描述 |
---|---|---|
100 | Continue | 继续。客户端应继续其请求 |
101 | Switching Protocols | 切换协议。服务器根据客户端的请求切换协议 |
102 | Processing | 处理中。服务器已收到并正在处理请求 |
103 | Early Hints | 早期提示。用来在最终的HTTP消息之前返回一些响应头 |
200 | OK | 成功。请求已成功,请求所希望的响应头或数据体将随此响应返回 |
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 | IM Used. 服务器已经满足了对资源的请求,对实体请求的一个或多个实体操作的结果表示 |
300 | Multiple Choices | 多种选择。针对请求,服务器可执行多种操作 |
301 | Moved Permanently | 永久移动。请求的资源已被永久移动到新位置 |
302 | Found | 临时移动。请求的资源临时从不同的URI响应请求 |
303 | See Other | 查看其它地址。使用GET方法定向获取请求资源 |
304 | Not Modified | 未修改。所请求的资源未修改,服务器返回此状态码时,不会返回任何资源 |
305 | Use Proxy | 使用代理。所请求的资源必须通过代理访问 |
306 | Switch Proxy | 切换代理。已废弃。表示后续请求应使用指定的代理 |
307 | Temporary Redirect | 临时重定向。与302类似,但客户端应保持请求方法不变 |
308 | Permanent Redirect | 永久重定向。与301类似,但客户端应保持请求方法不变 |
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 | 需要升级。客户端应切换到不同协议 |
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 | 服务不可用。服务器目前无法使用 |
504 | Gateway Timeout | 网关超时。服务器作为网关或代理,未及时从上游服务器收到请求 |
505 | HTTP Version Not Supported | HTTP版本不受支持。服务器不支持请求中所用的HTTP协议版本 |
506 | Variant Also Negotiates | 服务器存在内部配置错误 |
507 | Insufficient Storage | 存储空间不足 |
508 | Loop Detected | 检测到循环 |
510 | Not Extended | 未扩展 |
511 | Network Authentication Required | 网络认证需要 |
什么是HTTP状态码?
HTTP状态码(HTTP Status Code)是用来表示网页服务器HTTP响应状态的3位数字代码。所有的状态码的第一个数字代表了响应的五种状态之一。 HTTP状态码是服务器对浏览器说的话,用来表明请求是否成功,如果失败,是什么原因导致的失败。
HTTP状态码的分类
1xx - 信息性状态码
表示请求已被接收,需要继续处理。这类响应是临时响应,只包含状态行和某些可选的响应头信息,并以空行结束。
2xx - 成功状态码
表示请求已成功被服务器接收、理解、并接受。
3xx - 重定向状态码
表示需要客户端采取进一步的操作才能完成请求。通常,这些状态码用来重定向,后续的请求地址(重定向目标)在本次响应的Location域中指明。
4xx - 客户端错误状态码
表示客户端发生错误,妨碍了服务器的处理。例如,请求语法错误、无效请求消息或者路由错误。客户端应当修改请求后再次发送。
5xx - 服务器错误状态码
表示服务器在处理请求的过程中发生了错误。这些状态码代表了服务器在处理请求时内部遇到错误。这些错误可能是服务器本身的错误,而不是请求出错。
常见HTTP状态码详解
200 OK
最常见的HTTP状态码,表示请求已成功,请求所希望的响应头或数据体将随此响应返回。实际的响应将取决于所使用的请求方法。在GET请求中,响应将包含与请求的资源相对应的实体。
301 Moved Permanently
被请求的资源已永久移动到新位置,并且将来任何对此资源的引用都应该使用本响应返回的若干个URI之一。如果可能,拥有链接编辑功能的客户端应当自动把请求的地址修改为从服务器反馈回来的地址。
302 Found
请求的资源现在临时从不同的URI响应请求。由于这样的重定向是临时的,客户端应当继续向原有地址发送以后的请求。只有在Cache-Control或Expires中进行了指定的情况下,这个响应才是可缓存的。
400 Bad Request
由于明显的客户端错误(例如,格式错误的请求语法、太大的大小、无效的请求消息或欺骗性路由请求),服务器不能或不会处理该请求。
401 Unauthorized
类似于403 Forbidden,401语义即"未认证",即用户没有必要的凭据。该状态码表示当前请求需要用户验证。该响应必须包含一个适用于被请求资源的WWW-Authenticate信息头用以询问用户信息。
403 Forbidden
服务器已经理解请求,但是拒绝执行它。与401响应不同的是,身份验证并不能提供任何帮助,而且这个请求也不应该被重复提交。如果这不是一个HEAD请求,而且服务器希望能够讲清楚为何请求不能被执行,那么就应该在实体内描述拒绝的原因。
404 Not Found
请求失败,请求所希望得到的资源未被在服务器上发现。没有信息能够告诉用户这个状况到底是暂时的还是永久的。假如服务器知道情况的话,应当使用410状态码来告知旧资源因为某些内部的配置机制问题,已经永久的不可用,而且没有任何可以跳转的地址。
500 Internal Server Error
服务器遇到了一个未曾预料的状况,导致了它无法完成对请求的处理。一般来说,这个问题都会在服务器的程序码出错时出现。
426 Upgrade Required
HTTP状态码在Web开发中的重要性
HTTP状态码对于Web开发者和系统管理员来说非常重要,它们可以帮助快速诊断问题。例如,当用户报告无法访问某个页面时, 开发者可以通过查看HTTP状态码来确定问题是出在客户端(4xx)还是服务器端(5xx)。此外,搜索引擎也会使用HTTP状态码来决定如何索引网页。
HTTP状态码与SEO的关系
HTTP状态码对SEO有重要影响。搜索引擎会根据状态码决定如何处理网页:
- 200 OK:页面正常,可以被索引
- 301 Moved Permanently:永久重定向,搜索引擎会更新索引中的URL
- 302 Found:临时重定向,搜索引擎会保留原始URL在索引中
- 404 Not Found:页面不存在,搜索引擎会从索引中移除该页面
- 410 Gone:资源永久不可用,搜索引擎会更快地从索引中移除该页面
- 500 Internal Server Error:服务器错误,搜索引擎可能会稍后重试
如何使用HTTP状态码进行故障排除
当遇到网站问题时,HTTP状态码是排查故障的重要线索: