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

总结如下:


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

服务器等待请求超时

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

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

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

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

URI过长,服务器不能处理

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

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

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

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

当前资源被上锁

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

在WebDav Advanced Collections 草案中定义

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

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

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

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

微软所扩展的一个状态码

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

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

服务器当前不可用。

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

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

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

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

这个状态码没有在任何RFC中说明,但微软公司在用。

HTTP状态码图示的更多相关文章

  1. HTTP 协议 -- 状态码

    HTTP 协议状态码(Http Status Code) 使用ASP.NET/PHP/JSP 或者javascript都会用到http的不同状态,一些常见的状态码为: 200 – 服务器成功返回网页 ...

  2. LODOP获取打印状态码和时间列表

    之前有博文介绍获取打印状态码和打印状态码的含义,相关博文:LODOP获取打印机状态码和状态码含义测试.此外 ,也有获取状态码及其变化的方法,可以获取打印状态码的列表,列表包含每个状态和每个状态的时间. ...

  3. Http状态码之:301、302重定向

    概念 301 Moved Permanently 被请求的资源已永久移动到新位置,并且将来任何对此资源的引用都应该使用本响应返回的若干个URI之一.如果可能,拥有链接编辑功能的客户端应当自动把请求的地 ...

  4. HTTP常用状态码分析

    不管是面试还是工作中,经常会碰到需要通过HTTP状态码去判断问题的情况,比如对于后台RD,给到前端FE的一个接口,出现502或者504 error错误,FE就会说接口存在问题,如果没有知识储备,那就只 ...

  5. Java发送Http请求并获取状态码

    通过Java发送url请求,查看该url是否有效,这时我们可以通过获取状态码来判断. try { URL u = new URL("http://10.1.2.8:8080/fqz/page ...

  6. HTTP各状态码解释

      状态码 含义 100 客户端应当继续发送请求.这个临时响应是用来通知客户端它的部分请求已经被服务器接收,且仍未被拒绝.客户端应当继续发送请求的剩余部分,或者如果请求已经完成,忽略这个响应.服务器必 ...

  7. 关于Http状态码

    Http状态码表示Http协议所返回的响应的状态.比如客户端向服务器发送请求,如果成功的获得请求的资源,则返回的状态码为200,表示相应成功.如果请求的资源不存在,则通常返回404错误. Http状态 ...

  8. 生产环境常见的HTTP状态码列表

    生产环境常见的HTTP状态码列表(List of HTTP status codes)为: 200 - OK,服务器成功返回网页     - Standard response for success ...

  9. 常用的14种HTTP状态码速查手册

    分类 1xx \> Information(信息) // 接收的请求正在处理 2xx \> Success(成功) // 请求正常处理完毕 3xx \> Redirection(重定 ...

随机推荐

  1. 论tab切换的几种实现方法

    tab切换在网页中很常见,故最近总结了4种实现方法. 首先,写出tab的框架,加上最简单的样式,代码如下: <!DOCTYPE html> <html> <head> ...

  2. log4j建立propertie后要建立log4j2.xml

    log4j.properties ### \u8BBE\u7F6E### log4j.rootLogger = debug,stdout,D,E ### \u8F93\u51FA\u4FE1\u606 ...

  3. arp学习笔记(linux高性能服务编程)

    先看看arp的定义吧 现在linux运行这条命令 tcpdump -i eth0:1 -ent '(dst 192.168.5.190 and src 192.168.5.109)or( dst 19 ...

  4. MVC之参数验证(三)

    在实际开发中,项目经理会一直强调一句话,永远不要相信客户端的数据(前端可以不用验证,但是后端必须验证).大家同意这样的说法吧..新端验证毋庸质疑JS验证,提高用户体验我们不得不添加一些与后端一致的验证 ...

  5. 2105. [NOIP2015] 信息传递

    ★☆   输入文件:2015message.in   输出文件:2015message.out   简单对比 时间限制:1 s   内存限制:256 MB [题目描述] 有n个同学(编号为1到n)正在 ...

  6. 关于Python多线程condition变量的应用

    ''' 所谓条件变量,即这种机制是在满足了特定的条件后,线程才可以访问相关的数据. 它使用Condition类来完成,由于它也可以像锁机制那样用,所以它也有acquire方法和release方法,而且 ...

  7. C# 调用Mysql 带参数存储过程

    使用C#调用Mysql 带参数的存储过程: 1.创建带参数的存储过程:USP_Temp_Test 2.两个参数:IN 参数为 P_XML , OUT 参数为 P_ErrorOut 3.C#代码调用该存 ...

  8. HDU_1022_Train Problem I

    Train Problem I Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)T ...

  9. MySQL学习笔记(十二)__连接查询(一)

    连接查询含义:又称多表查询,当查询的字段来自多个表时,就会用到连接查询 笛卡尔乘积现象:表1 有 m 行,表2 有 n 行,结果 = m*n 行发生原因:没有有效的连接条件如何避免:添加有效的连接条件 ...

  10. vs2013打包

    C#打包需要这个:InstallShield 2013 Limited Edition for Visual Studio  . 下载地址: InstallShield 2013 Limited Ed ...