当我们从客户端向服务器发送请求时

服务器向我们返回状态码

状态码就是告诉我们服务器响应的状态

通过它,我们就可以知道当前请求是成功了还是出现了什么问题

状态码是由3位数字和原因短语组成的(比如最常见的:200 OK)

其中第一位数字表示响应类别,响应类别从1到5分为五种

add:其实我查阅资料发现还有一个6打头的一个 600 Unparseable Response Headers

表示服务器没有返回响应头部,只返回实体内容,也算做服务器错误状态码吧,不过绝对不常见

状态码 响应类别 原因短语
1XX 信息性状态码(Informational) 服务器正在处理请求
2XX 成功状态码(Success) 请求已正常处理完毕
3XX 重定向状态码(Redirection) 需要进行额外操作以完成请求
4XX 客户端错误状态码(Client Error) 客户端原因导致服务器无法处理请求
5XX 服务器错误状态码(Server Error) 服务器原因导致处理请求出错

状态码响应类别的的定义是必须遵守的,后面的两个数字服务器自己DIY也没什么问题

RFC2616(用来指定HTTP协议标准的文档)标准定义的就有四十多种,加上扩展能达到六十种

不过常见的大概只有十四种,下面我来谈谈这些有代表性的14种HTTP状态码

2XX 成功

20 0 OK

表示请求被服务器正常处理

最常见的就是这个了

随着这个状态码返回的信息跟你的请求方法有关

比如GET请求,请求的资源会作为响应实体返回

而HEAD请求,信息只存在于响应报文首部,因为它不会返回报文实体,只返回报文首部

20 4 No Content

表示请求已成功处理,但是没有内容返回(就应该没有内容返回的状况)

也就是返回的响应报文中没有报文实体(其实是没有报文实体的主体部分)

浏览器向服务器发送请求后收到了204,那么浏览器页面不会发生更新

一般用在只是客户端向服务器发送信息,而服务器不用向客户端返回什么信息的情况

20 6 Partial Content

表示服务器已经完成了部分GET请求(客户端进行了范围请求)

响应报文中包含Content-Range指定范围的实体内容

3XX 重定向

30 1 Moved Permanently

永久重定向,表示请求的资源已经永久的搬到了其他位置

就是说资源已经被分配了新的URI

新的URI应该提示在响应报文的Location首部字段

只要不是HEAD请求,响应实体应该包含新URI的超链接和简短的说明

30 2 Found

临时重定向,表示请求的资源临时搬到了其他位置

请求的资源暂时被配到到了新的URI

和301很像,只不过资源是临时移动,资源在将来可能还会改变

同样地,新的临时URI应该提示在响应报文的Location首部字段

只要不是HEAD请求,响应实体应该包含新URI的超链接和简短的说明

30 3 See Other

表示请求资源存在另一个URI,应使用GET定向获取请求资源

303功能与302一样,区别只是303明确客户端应该使用GET访问

(很多HTTP/1.1之前的浏览器不能理解303,但是大家都把302当303对待,使用GET请求新URI)

30 4 Not Modified

表示客户端发送附带条件的请求(GET方法请求报文中的IF…)时,条件不满足

返回304时,不包含任何响应主体

虽然304被划分在3XX,但和重定向一毛钱关系都没有

30 7 Temporary Redirect

临时重定向,和302有着相同含义

尽管302标准禁止POST变为GET,但没人听他的

而307就会遵照标准,不会从POST变为GET

但处理响应行为,各个浏览器可能不同

4XX 客户端错误

40 0 Bad Request

表示请求报文存在语法错误或参数错误,服务器不理解

服务器不应该重复提交这个请求

需要修改请求内容后再次发送

40 1 Unauthorized

表示发送的请求需要有HTTP认证信息或者是认证失败了

返回401的响应必须包含一个适用于被请求资源的WWW-Authenticate首部以质询用户信息

浏览器初次接受401时,会弹出认证窗口

40 3 Forbidden

表示对请求资源的访问被服务器拒绝了

服务器可以对此作出解释,也可以不解释

想说明的话可以在响应实体的主体部分描述原因

比如说你可能没有访问权限

40 4 Not Found

表示服务器找不到你请求的资源

也有可能服务器就是不想给你然后骗你找不到(⊙ˍ⊙)

而且大多服务器都是这么玩这个状态码的

5XX 服务器错误

50 0 Internal Server Error

表示服务器执行请求的时候出错了

可能是Web应用有bug或临时故障

更有可能是服务器源代码有bug…

50 3 Service Unavailable

表示服务器超负载或正停机维护,无法处理请求

如果服务器知道还需要多长时间,就写入Retry-After首部字段返回

总结

返回的状态码和状态不一致的情况是有可能发生得

比如Web应用程序内部错误,但仍然返回 200 OK

  • 200 OK
    请求正常处理完毕

  • 204 No Content
    请求成功处理,没有实体的主体返回

  • 206 Partial Content
    GET范围请求已成功处理

  • 301 Moved Permanently
    永久重定向,资源已永久分配新URI

  • 302 Found
    临时重定向,资源已临时分配新URI

  • 303 See Other
    临时重定向,期望使用GET定向获取

  • 304 Not Modified
    发送的附带条件请求未满足

  • 307 Temporary Redirect
    临时重定向,POST不会变成GET

  • 400 Bad Request
    请求报文语法错误或参数错误

  • 401 Unauthorized
    需要通过HTTP认证,或认证失败

  • 403 Forbidden
    请求资源被拒绝

  • 404 Not Found
    无法找到请求资源(服务器无理由拒绝)

  • 500 Internal Server Error
    服务器故障或Web应用故障

  • 503 Service Unavailable
    服务器超负载或停机维护                                               注:其实还有6xx:请求头未响应

android ----- 服务器返回的14种常见HTTP状态码相关推荐

  1. 服务器返回的14种常见HTTP状态码

    tip:有问题或者需要大厂内推的+我脉脉哦:丛培森 ٩( 'ω' )و 当我们从客户端向服务器发送请求时 服务器向我们返回状态码 状态码就是告诉我们服务器响应的状态 通过它,我们就可以知道当前请求是成 ...

  2. 14种常见HTTP状态码

    面试常考,记录下: 状态码响应类别原因短语 1XX信息性状态码(Informational)服务器正在处理请求 2XX成功状态码(Success)请求已正常处理完毕 3XX重定向状态码(Redirec ...

  3. 安卓判断服务器返回的状态码,关于服务器返回的十四种常见HTTP状态码详解

    原标题:关于服务器返回的十四种常见HTTP状态码详解 HTTP状态码 状态码是由3位数字和原因短语组成的(比如最常见的:200 OK),其中第一位数字表示响应类别,响应类别从1到5分为五种 add:其 ...

  4. HTTP协议和几种常见的状态码

    前言:明知山有釜,偏向釜山行-----电影<釜山行> ------------------------------------------------------------------- ...

  5. 服务器返回响应http短语,关于服务器返回的十四种常见HTTP状态码详解

    2XX 成功 200 OK 表示请求被服务器正常处理 最常见的就是这个了,随着这个状态码返回的信息跟你的请求方法有关,比如GET请求,请求的资源会作为响应实体返回,而HEAD请求,信息只存在于响应报文 ...

  6. http --- 路由器缓存与常见的状态码

    路由器的缓存: // 当下路由器其主要系统性能指吞吐率.利用率.丢包率.延迟.缓存大小和实现复杂性等. // 当链路上发生拥塞时能够对新进入的数据包进行缓存 // 从而降低丢包率.维持高的链路利用率 ...

  7. 常见HTTP状态码(200,304,404等)

    在网站建设的实际应用中,容易出现很多小小的失误,就像mysql当初优化不到位,影响整体网站的浏览效果一样,其实,网站的常规http状态码的表现也是一样,Google无法验证网站几种解决办法,提及到由于 ...

  8. 【HTTP】10分钟带你快速了解HTTP中常见的状态码(内附大量实例)

    目录 前言 ▶ 为什么要了解状态码? 正题 ▶ 状态码的类别 ▶ 状态码--200(OK) ▶ 状态码--204(Not Content) ▶ 状态码--206(Partial Content) ▶ ...

  9. HTTP 常见的状态码

    HTTP 常见的状态码 2xx 状态码 2xx 状态码表示操作成功, 但是不同的方法可以返回更精确的状态码 POST返回201状态码,表示生成了新的资源:DELETE返回204状态码,表示资源已经不存 ...

最新文章

  1. axios delete有请求体吗_关于axios请求——delete方法
  2. Beta冲刺! Day2 - 砍柴
  3. @hotmail.com 账户添加别名,重命名到@outlook.com 一系列问题,顺道附上个人解决方法
  4. 拿来即用的 Python 时间范围判断方法
  5. ListView问题:Your content must have a ListView wh...
  6. UML总结(对九种图的认识和如何使用Rational Rose 画图)
  7. Win32 SDK创建ListView控件
  8. OFFICE技术讲座:JDK绘制旋转斜体字体的效果
  9. HTML的div标记为何设置背景色无效?
  10. centos6 ab性能测试web服务器
  11. emWin 2天速成实例教程013_修改BUTTON按钮等控件背景皮肤颜色_SetBkColor
  12. java sql 字符串_java用字符串拼接SQL语句的特殊字符转义问题
  13. realitycapture 3D建模软件
  14. 跟着小马哥学系列之 Spring AOP(Spring 事务(源码分析)上)
  15. 不带任何脏字的英文骂人法
  16. C++智能指针与类型转换
  17. 十年生死两茫茫,当我们已不再年轻——焦版小李飞刀
  18. 苹果或研发第二代智能手表
  19. Java中 [I@4554617c 问题解决
  20. QQ音乐页面效果模仿制作

热门文章

  1. 解决返回的数据中含有 br标签的有效办法
  2. 通信算法之四十:5G NR LDPC编码译码性能仿真
  3. Python是一种解释型、面向对象、动态数据类型的高级程序设计语言。
  4. 严重性代码说明项目文件行禁止显示状态错误项目 Common 的 NuGet 包还原失败: 找不到“X.X.X”版本的程序包“XXXXXX”。
  5. Eclipse安装完PyDev插件没有显示
  6. 知道创宇2018年度网络安全(云安全)态势报告
  7. Echart图表在服务器端生成图片
  8. 深度强化学习综述(上)
  9. pureftpd安装配置[总结]
  10. Eclipse Neon 意外退出后,启动页卡在 org.eclipse.m2e.core