HTTP状态码(HTTP Status Code)是用以表示网页服务器HTTP响应状态的3位数字代码。它由RFC2616规范定义的,并得到RFC2518、RFC2817、RFC2295、RFC2774、RFC2918等规范扩展。
HTTP状态码一共分为五类。状态码的第一个数字代表了响应的五种状态之一。分类如下:
分类 | 含义 |
---|---|
1XX | 表示消息。这一类的状态码,代表请求已被接受,需要继续处理。这类响应示临时响应,只包含状态行和某些可选的响应头信息,并以空行结束。 |
2XX | 表示成功。这一类的状态码,代表请求已成功被服务器接收、理解、并接受。 |
3XX | 表示重定向。这类状态码代表需要客户端采取进一步的操作才能完成请求。通常,这类状态码用来重定向,后续的请求地址(重定向目标)在本次响应的Location域中指明。 |
4XX | 表示请求错误。这类状态码代表了客户端看起来可能发生了错误,妨碍了服务器的处理。除非响应的是一个HEAD请求,否则服务器就应该返回一个解释当前错误状况的实体,以及这是临时的还是永久性的状况。这些状态码适用于任何请求方法。浏览器应当向用户显示任何包含在此类错误响应中的实体内容。 |
5XX | 表示服务器错误。这类状态码代表了服务器在处理请求的过程中有错误或者异常状态发生,也有可能是服务器意识到以当前的软硬件资源无法完成对请求的处理。除非这是一个HEAD请求,否则服务器应当包含一个解释当前错误状态以及这个状况是临时的还是永久的解释信息实体。浏览器应当向用户展示任何在当前响应中被包含的实体。 |
HTTP状态码:
状态码 | 英/中双解 | 汉语解释 |
---|---|---|
100 | Continue/继续 | 客户端应当继续发送请求。 |
101 | Switching Protocols/转换协议 | 服务器已经理解了客户端的请求,并将通过Upgrade消息头通知客户端采用不同的协议来完成这个请求。 |
102 | Processing | 由WebDAV(RFC 2518)扩展的状态码,代表处理将被继续执行。 |
200 | OK/正常 | 请求已成功,请求所希望的响应头或数据体将随此响应返回。 |
201 | Created/已创建 | 表示服务器在请求的响应中建立新文档;应在定位头信息中给出它的URL。 |
202 | Accepted/接受 | 服务器已接受请求,但尚未处理完。 |
203 | Non-Authoritative Infirmation/非官方信息 | 表示文档被正常的返回,但是由于正在使用的是文档副本所以某些响应头信息可能不正确。 |
204 | No Content/无内容 | 表示服务器成功处理了请求,但不需要返回任何实体内容,并且希望返回更新了的元信信。在并没有新文档的情况下,确保浏览器继续显示先前的文档。 |
205 | Reset Content/重置内容 | 意思是虽然没有新文档但浏览器要重置文档显示。这个状态码用于强迫浏览器清除表单域。 |
206 | Partial Content/局部内容 | 该请求必须包含Range头信息来指示客户端希望得到的内容范围,并且可能包含If-Range来作为请求条件。 |
207 | Multi-Status/多种状态 | 由WebDAV(RFC2528)扩展的状态码,代表之后的消息体将是一个XML消息,并且可能依照之前子请求数量的不同,包含一系列独立的响应代码。 |
300 | Multiple Choices/多重选择 | 表示被请求的文档可以在多个地方找到,并将在返回的文档中列出。 |
301 | Moved Permanently/永久迁移 | 指所请求的文档在别的地方;文档新的URL会在定位响应头信息中给出。浏览器会自动连接到新的URL。 |
302 | Found/找到 | 与301有些类似,指示定位头信息中所给的URL应被理解为临时交换地址而不是永久的。 |
303 | See Other/参见其他信息 | 和301、302相似,指示如果最初的请求是POST,那么新文档(在定位头信息中给出)要用GET找回。 |
304 | Not Modified/没有修改 | 如果客户端发送了一个带条件的GET请求且该请求已被允许,而文档的内容(自上次访问以来或者根据请求的条件)并没有改变,则服务器应当返回这个状态码。304响应禁止包含消息体,因此始终以消息头后的第一个空行结束。 |
305 | Use Proxy/使用代理 | 表示所请求的文档要通过定位头信息中的代理服务器获得。 |
306 | Switch Proxy/切换代理 | 在最新版的规范中,306状态码已经不再被使用。 |
307 | Temporary Redirect/临时重定向 | 在响应为303时按照GET和POST请求转向;而在307响应时按照GET请求转向而不是POST请求。 |
400 | Bad Request/错误请求 | 指出客户端请求中的语法错误。 |
401 | Unauthorized/未授权 | 表示客户端在授权头信息中没有有效的身份信息时访问密码保护的页面。 |
403 | Forbidden/禁止 | 表示除非拥有授权否则服务器拒绝提供所请求的资源。 |
404 | Not Found/未找到 | 告诉客户端所给出的地址无法找到任何资源。 |
405 | Method Not Allowed/方法未被允许 | 表示请求方法(GET、POST、HEAD、PUT、DELETE,等)对某些特定的资源不允许使用。 |
406 | Not Acceptable/无法访问 | 表示请求资源的MIME类型与客户端中Accept头信息中指定的类型不一致。 |
407 | Proxy Authentication Required/代理服务器认证要求 | 该状态指出客户端必须通过代理服务器的认证。 |
408 | Request Timeout/请求超时 | 指服务器等待客户端发送请求的时间过长。 |
409 | Conflict/冲突 | 该状态通常与PUT请求一同使用,409状态常被用于试图上传版本不正确的文件时。 |
410 | Gone/已经不存在 | 告诉客户端所请求的文档已经不存在并且没有更新的地址。410状态不同于404,410是在指导文档已被移走的情况下使用,而404则用于未知原因的无法访问。 |
411 | Length Required/需要数据长度 | 表示服务器不能处理请求,除非客户端发送Content-Length头信息指出发送给服务器的数据大小 |
412 | Procondition Failed/先决条件错误 | 指出请求头信息中的某些先决条件是错误的。 |
413 | Request Entity TooLarge/请求实体过大 | 告诉客户端现在所请求的文档比服务器现在想要处理的要大。 |
414 | Request URL Too Long/请求URL过长 | 用于在URL过长的情况时。这里所指的URL是指URL中主机、域名及端口号之后的内容。 |
416 | Requested Range Not Satisfiable/请求范围无法满足 | 表示客户端包含了一个服务器无法满足的Range头信息的请求。 |
417 | Expectation Failed/期望失败 | 表示在请求头Expect中指定的预期内容无法被服务器满足。 |
421 | There are too many connections from your internet address/该IP发起的链接过多 | 从当前客户端所在的IP地址到服务器的连接数超过了服务器许可的最大范围。 |
422 | Unprocessable Entity/错误实体 | 请求格式正确,但是由于含有语义错误,无法响应。 |
423 | Locked/锁定 | 当前资源被锁定。 |
424 | Failed Dependency/错误关联 | 由于之前的某个请求发生的错误,导致当前请求失败。 |
425 | Unordered Collection/乱序集合 | 在WebDav Advanced Collections 草案中定义,但是未出现在《WebDAV顺序集协议》中。 |
426 | Upgrade Required/升级要求 | 客户端应当切换到TLS/1.0。 |
428 | Precondition Required/要求先决条件 | 先决条件是客户端发送HTTP请求时,如果想要请求能成功必须满足一些预设条件。 |
429 | Too Many Requests/太多请求 | 当你需要限制客户端请求某个服务数量时,该状态码就很有用,也就是请求速度限制。 |
431 | Request Header Fields/请求头字段太大 | 某些情况下,客户端发送HTTP请求头会变得很大,那么服务器可发送431状态码来指明该问题。 |
449 | Retry With/稍后重试 | 由微软扩展,代表请求应当在执行完适当的操作后进行重试。 |
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 | 服务器无法存储完成请求所必须的内容。 |
509 | Bandwidth Limit Exceeded | 服务器达到带宽限制。这不是一个官方的状态码,但是被广泛使用。 |
510 | Not Extended | 获取资源所需要的策略并没有被满足 |
511 | Network Authentication Required/要求网络认证 | 在你想使用web服务的时候需要重定向到认证页面,在走HTTP通信中都是这么做的。 |