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