HTTP Status 请求状态码

HTTP Status 请求状态码

介绍

HTTP状态码(英语:HTTP Status Code)是用以表示网页服务器超文本传输协议响应状态的3位数字代码。

常见状态码

2xx 成功类型

2开头的状态码代表服务器能理解请求并进行了处理。

200 OK 成功返回

这是最常见的状态码,正常返回页面或者接口返回数据时都是使用这个状态码作为成功状态。

100 Continue 继续

一个临时响应状态,通知客户端继续发送请求,用于类似分包上传的情况,全部请求完成后需要发送一个最终响应状态,如上述的200。

3xx 重定向类型

表示要完成请求需要另外的操作,一般是会进行重定向。

301 Moved Permanently 资源永久移位

请求的资源已永久移动到新位置,并且将来任何对此资源的引用都应该使用本响应返回的若干个URI之一。

302 Move Temporarily 资源临时移位

请求的资源临时从不同的URI响应请求。由于这样的重定向是临时的,客户端应当继续向原有地址发送以后的请求。。

304 Not Modified 从缓存中获取

如果客户端发送了一个带条件的 GET 请求且该请求已被允许,而文档的内容自上次访问并没有改变,则服务器应当返回这个状态码。

4xx 客户端错误类型

表示客户端的问题导致请求不被接受。

400 Bad Request 错误请求

语义有误或请求参数有误,服务器无法理解。

401 Unauthorized 缺少验证

当前请求需要进行用户验证,当缺少Authorization证书信息或者证书无效就会触发。

403 Forbidden 禁止访问

表示请求被禁止,一般是某些资源不够权限或者默认禁止访问的文件。

404 No Found 找不到资源

常见的一种错误,一般是找不到路由对应的页面等情况。

5xx 服务器错误类型

500 Internal Server Error 无法完成请求

服务器内部有错误,无法处理请求,一般是程序内部错误。

503 Service Unavailable 服务不可用

服务器维护或者过载,无法处理请求。

更多状态码

101 Switching Protocols 切换协议

要求客户端切换成不同的协议来完成请求,例如HTTP切换到HTTPS,或者HTTP切换到Websocket等

102 Processing 执行中

代表处理将被继续执行

202 Accepted 接受请求

服务器已接受请求,但尚未处理。非常适合异步消息队列的处理方式,表示本次请求结果将以另外的回调链接或者其他方式返回。

203 Non-Authoritative Information

服务器已成功处理了请求,但返回的实体头部元信息不是在原始服务器上有效的确定集合,而是来自本地或者第三方的拷贝。当前的信息可能是原始版本的子集或者超集。例如,包含资源的元数据可能导致原始服务器知道元信息的超集。使用此状态码不是必须的,而且只有在响应不使用此状态码便会返回200 OK的情况下才是合适的。

204 No Content 无内容

服务器成功处理了请求,但不需要返回任何实体内容,并且希望返回更新了的元信息。响应可能通过实体头部的形式,返回新的或更新后的元信息。如果存在这些头部信息,则应当与所请求的变量相呼应。

205 Reset Content

服务器成功处理了请求,且没有返回任何内容。但是与204响应不同,返回此状态码的响应要求请求者重置文档视图。该响应主要是被用于接受用户输入后,立即重置表单,以便用户能够轻松地开始另一次输入。
与204响应一样,该响应也被禁止包含任何消息体,且以消息头后的第一个空行结束。

206 Partial Content

服务器已经成功处理了部分 GET 请求。类似于 FlashGet 或者迅雷这类的 HTTP下载工具都是使用此类响应实现断点续传或者将一个大文档分解为多个下载段同时下载。
该请求必须包含 Range 头信息来指示客户端希望得到的内容范围,并且可能包含 If-Range 来作为请求条件。

207 Multi-Status

由WebDAV(RFC 2518)扩展的状态码,代表之后的消息体将是一个XML消息,并且可能依照之前子请求数量的不同,包含一系列独立的响应代码。

300 Multiple Choices

被请求的资源有一系列可供选择的回馈信息,每个都有自己特定的地址和浏览器驱动的商议信息。用户或浏览器能够自行选择一个首选的地址进行重定向。

303 See Other

对应当前请求的响应可以在另一个 URL 上被找到,而且客户端应当采用 GET 的方式访问那个资源。这个方法的存在主要是为了允许由脚本激活的POST请求输出重定向到一个新的资源。这个新的 URI 不是原始资源的替代引用。同时,303响应禁止被缓存。当然,第二个请求(重定向)可能被缓存。

305 Use Proxy

被请求的资源必须通过指定的代理才能被访问。Location 域中将给出指定的代理所在的 URI 信息,接收者需要重复发送一个单独的请求,通过这个代理才能访问相应资源。只有原始服务器才能建立305响应。
注意:RFC 2068中没有明确305响应是为了重定向一个单独的请求,而且只能被原始服务器建立。忽视这些限制可能导致严重的安全后果。

306 Switch Proxy

在最新版的规范中,306状态码已经不再被使用。

307 Temporary Redirect

请求的资源临时从不同的URI 响应请求。
新的临时性的URI 应当在响应的 Location 域中返回。除非这是一个HEAD 请求,否则响应的实体中应当包含指向新的URI 的超链接及简短说明。

402 Payment Required

该状态码是为了将来可能的需求而预留的。

405 Method Not Allowed

请求行中指定的请求方法不能被用于请求相应的资源。该响应必须返回一个Allow 头信息用以表示出当前资源能够接受的请求方法的列表。

406 Not Acceptable

请求的资源的内容特性无法满足请求头中的条件,因而无法生成响应实体。
除非这是一个 HEAD 请求,否则该响应就应当返回一个包含可以让用户或者浏览器从中选择最合适的实体特性以及地址列表的实体。

407 Proxy Authentication Required

与401响应类似,只不过客户端必须在代理服务器上进行身份验证。代理服务器必须返回一个 Proxy-Authenticate 用以进行身份询问。

408 Request Timeout

请求超时。客户端没有在服务器预备等待的时间内完成一个请求的发送。客户端可以随时再次提交这一请求而无需进行任何更改。

409 Conflict

由于和被请求的资源的当前状态之间存在冲突,请求无法完成。这个代码只允许用在这样的情况下才能被使用:用户被认为能够解决冲突,并且会重新提交新的请求。该响应应当包含足够的信息以便用户发现冲突的源头。

410 Gone

被请求的资源在服务器上已经不再可用,而且没有任何已知的转发地址。这样的状况应当被认为是永久性的。

411 Length Required

服务器拒绝在没有定义 Content-Length 头的情况下接受请求。

412 Precondition Failed

服务器在验证在请求的头字段中给出先决条件时,没能满足其中的一个或多个。这个状态码允许客户端在获取资源时在请求的元信息(请求头字段数据)中设置先决条件,以此避免该请求方法被应用到其希望的内容以外的资源上。

413 Request Entity Too Large

服务器拒绝处理当前请求,因为该请求提交的实体数据大小超过了服务器愿意或者能够处理的范围。此种情况下,服务器可以关闭连接以免客户端继续发送此请求。

414 Request-URI Too Long

请求的URI 长度超过了服务器能够解释的长度,因此服务器拒绝对该请求提供服务。这比较少见,通常的情况包括:

415 Unsupported Media Type

对于当前请求的方法和所请求的资源,请求中提交的实体并不是服务器中所支持的格式,因此请求被拒绝。

416 Requested Range Not Satisfiable

如果请求中包含了 Range 请求头,并且 Range 中指定的任何数据范围都与当前资源的可用范围不重合,同时请求中又没有定义 If-Range 请求头,那么服务器就应当返回416状态码。

417 Expectation Failed

在请求头 Expect 中指定的预期内容无法被服务器满足,或者这个服务器是一个代理服务器,它有明显的证据证明在当前路由的下一个节点上,Expect 的内容无法被满足。

418 I’m a teapot

421 Misdirected Request

请求被指向到无法生成响应的服务器(比如由于连接重复使用)

422 Unprocessable Entity

请求格式正确,但是由于含有语义错误,无法响应。

423 Locked

当前资源被锁定。

424 Failed Dependency

由于之前的某个请求发生的错误,导致当前请求失败,

425 Too Early

代表服务器不愿意冒风险来处理该请求,原因是处理该请求可能会被“重放”,从而造成潜在的重放攻击。

426 Upgrade Required

客户端应当切换到TLS/1.0。

449 Retry With

由微软扩展,代表请求应当在执行完适当的操作后进行重试。

451 Unavailable For Legal Reasons

该请求因法律原因不可用。

501 Not Implemented

服务器不支持当前请求所需要的某个功能。当服务器无法识别请求的方法,并且无法支持其对任何资源的请求。

502 Bad Gateway

作为网关或者代理工作的服务器尝试执行请求时,从上游服务器接收到无效的响应。

504 Gateway Timeout

作为网关或者代理工作的服务器尝试执行请求时,未能及时从上游服务器(URI标识出的服务器,例如HTTP、FTP、LDAP)或者辅助服务器(例如DNS)收到响应。

505 HTTP Version Not Supported

服务器不支持,或者拒绝支持在请求中使用的 HTTP 版本。这暗示着服务器不能或不愿使用与客户端相同的版本。响应中应当包含一个描述了为何版本不被支持以及服务器支持哪些协议的实体。

506 Variant Also Negotiates

代表服务器存在内部配置错误:被请求的协商变元资源被配置为在透明内容协商中使用自己,因此在一个协商处理中不是一个合适的重点。

507 Insufficient Storage

服务器无法存储完成请求所必须的内容。这个状况被认为是临时的。

509 Bandwidth Limit Exceeded

服务器达到带宽限制。这不是一个官方的状态码,但是仍被广泛使用。

510 Not Extended

获取资源所需要的策略并没有被满足。

600 Unparseable Response Headers

源站没有返回响应头部,只返回实体内容。

猜你喜欢

转载自blog.csdn.net/u013102711/article/details/128514556