(点击上方公众号,可快速关注)
英文:rightyaleft,翻译:伯乐在线 - 艾凌风
记忆HTTP状态码是有一些困难的,因为状态码很多且很难记忆。GirlieMac,也就是Tomomi Imura利用她巧妙的构思,PS了一系列的HTTP状态信息。在你看过这些图片之后,你绝对可以记住一些 HTTP 状态码,因为我就只是在这里才学会了这些状态码。
以下列出这些状态码以及它们最基本的含义
100 继续
表示服务器已经接收到了请求头,并且客户端应该继续发送请求体。
表示请求方已经要求服务器切换协议,并且服务器已经接受并会进行处理。
HTTP 请求成功的标准应答。实际的应答内容由请求使用的方法来决定。
请求已经被接受,并且请求所对应的资源已经被创建。
请求已被接受,尚未完成处理,也有可能会被拒绝。
在成功处理请求后服务器并没有返回任何实体内容。
依照子请求的数量的不同,消息体包含不同的响应代码。
表示被请求的资源可以提供多种选项让客户端进行选择
该请求应当被定向到给定的URI(统一资源定位符)
这是一个工业实践和标准相互矛盾的例子。一些Web应用和框架会使用302状态码
对应当前请求的响应可以使用GET方法从另一个URI获取
表示资源自上次请求以来没有被改变。
(译注:被请求的资源必须通过指定的代理才能被访问) 大多数HTTP客户端不会正确响应这个状态码,主要是出于安全性的原因
在这种情况下,请求会从另外的URI响应但是未来的请求仍会使用原始的URI
因为错误的语法,请求不能完成
当需要授权,但授权失败或还没有授权时返回的状态码
该状态码是为了将来可能的需求而预留的。这个代码通常不使用,但是其最初的意图是可以被某种电子货币所使用。
请求有效,但是服务器拒绝响应它。
请求的资源不能找到,但是将来也许可用。
请求某资源时使用的请求方法不能被该资源所支持。
被请求资源能够产生的内容不满足请求头中指定的类型。
服务器等待请求超时
因为请求中存在冲突导致请求无法被处理
被请求的资源已不可用,同时后续也不再可用。
请求所对应的资源需要指明长度,但请求中并没有包含长度。
其请求数据实体过大,超过服务器处理能力。
URI过长,服务器不能处理
客户端请求部分文件,但是服务器并不能提供这个范围值。
服务器不能满足请求头重指定的要求。
在实际HTTP服务器中不会实现该状态码
请求格式正确但是因为存在语意错误无法响应。
当前资源被上锁
因为之前的请求失败而导致了本次请求失败
在WebDav Advanced Collections 草案中定义
客户端应该切换到不同的协议
用户在指定时间内发送的请求过多。
因为请求中的单个域过大、或者全部域全加起来过大。
在Nginx记录中使用,表示服务器没有向客户端返回信息并且已经关闭了连接
微软所扩展的一个状态码
当没有其他更加确切的信息可以给出时,给出的一个一般性错误信息。
作为网关或者代理工作的服务器尝试执行请求时,从上游服务器接收到无效的响应
服务器当前不可用。
请求的透明内容协商导致循环引用
服务器无法存储完成请求所必须的内容。
服务器在处理请求时发现一个无限循环
尽管很多服务器使用该协议,但其并没有在任何RFC中说明
这个状态码没有在任何RFC中说明,但微软公司在用。
看完本文有收获?请转发分享给更多人
关注「程序员的那些事」,提升编程技能