HTTP状态码图示

 

这里总结下我们日常开发中常用的HTTP状态码,分享一个老外对HTTP状态码形象化用图片表示的网站:https://http.cat/

总结如下:



表示服务器已经接收到了请求头,并且客户端应该继续发送请求体。

表示请求方已经要求服务器切换协议,并且服务器已经接受并会进行处理。

HTTP 请求成功的标准应答。实际的应答内容由请求使用的方法来决定。

请求已经被接受,并且请求所对应的资源已经被创建。

请求已被接受,尚未完成处理,也有可能会被拒绝。

在成功处理请求后服务器并没有返回任何实体内容。

依照子请求的数量的不同,消息体包含不同的响应代码。

表示被请求的资源可以提供多种选项让客户端进行选择

该请求应当被定向到给定的URI(统一资源定位符)

这是一个工业实践和标准相互矛盾的例子。一些Web应用和框架会使用302状态码

对应当前请求的响应可以使用GET方法从另一个URI获取

表示资源自上次请求以来没有被改变。

(译注:被请求的资源必须通过指定的代理才能被访问) 大多数HTTP客户端不会正确响应这个状态码,主要是出于安全性的原因

在这种情况下,请求会从另外的URI响应但是未来的请求仍会使用原始的URI

因为错误的语法,请求不能完成

当需要授权,但授权失败或还没有授权时返回的状态码

该状态码是为了将来可能的需求而预留的。这个代码通常不使用,但是其最初的意图是可以被某种电子货币所使用。

请求有效,但是服务器拒绝响应它。

请求的资源不能找到,但是将来也许可用。

请求某资源时使用的请求方法不能被该资源所支持。

被请求资源能够产生的内容不满足请求头中指定的类型。

服务器等待请求超时

因为请求中存在冲突导致请求无法被处理

被请求的资源已不可用,同时后续也不再可用。

请求所对应的资源需要指明长度,但请求中并没有包含长度。

其请求数据实体过大,超过服务器处理能力。

URI过长,服务器不能处理

客户端请求部分文件,但是服务器并不能提供这个范围值。

服务器不能满足请求头重指定的要求。

在实际HTTP服务器中不会实现该状态码

请求格式正确但是因为存在语意错误无法响应。

当前资源被上锁

因为之前的请求失败而导致了本次请求失败

在WebDav Advanced Collections 草案中定义

客户端应该切换到不同的协议

用户在指定时间内发送的请求过多。

因为请求中的单个域过大、或者全部域全加起来过大。

在Nginx记录中使用,表示服务器没有向客户端返回信息并且已经关闭了连接

微软所扩展的一个状态码

当没有其他更加确切的信息可以给出时,给出的一个一般性错误信息。

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

服务器当前不可用。

请求的透明内容协商导致循环引用

服务器无法存储完成请求所必须的内容。

服务器在处理请求时发现一个无限循环

尽管很多服务器使用该协议,但其并没有在任何RFC中说明

这个状态码没有在任何RFC中说明,但微软公司在用。
posted @ 2017-11-27 10:27  逃亡中_  阅读(448)  评论(0编辑  收藏  举报