tip:有问题或者需要大厂内推的+我脉脉哦:丛培森 ٩( ‘ω’ )و

当我们从客户端向服务器发送请求时
服务器向我们返回状态码
状态码就是告诉我们服务器响应的状态
通过它,我们就可以知道当前请求是成功了还是出现了什么问题
状态码是由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 成功#
##200 OK##
表示请求被服务器正常处理
最常见的就是这个了
随着这个状态码返回的信息跟你的请求方法有关
比如GET请求,请求的资源会作为响应实体返回
而HEAD请求,信息只存在于响应报文首部,因为它不会返回报文实体,只返回报文首部


##204 No Content##
表示请求已成功处理,但是没有内容返回(就应该没有内容返回的状况)
也就是返回的响应报文中没有报文实体(其实是没有报文实体的主体部分)
浏览器向服务器发送请求后收到了204,那么浏览器页面不会发生更新
一般用在只是客户端向服务器发送信息,而服务器不用向客户端返回什么信息的情况


##206 Partial Content##
表示服务器已经完成了部分GET请求(客户端进行了范围请求)
响应报文中包含Content-Range指定范围的实体内容

#3XX 重定向#
##301 Moved Permanently##
永久重定向,表示请求的资源已经永久的搬到了其他位置
就是说资源已经被分配了新的URI
新的URI应该提示在响应报文的Location首部字段
只要不是HEAD请求,响应实体应该包含新URI的超链接和简短的说明


##302 Found##
临时重定向,表示请求的资源临时搬到了其他位置
请求的资源暂时被配到到了新的URI
和301很像,只不过资源是临时移动,资源在将来可能还会改变
同样地,新的临时URI应该提示在响应报文的Location首部字段
只要不是HEAD请求,响应实体应该包含新URI的超链接和简短的说明


##303 See Other##
表示请求资源存在另一个URI,应使用GET定向获取请求资源
303功能与302一样,区别只是303明确客户端应该使用GET访问
(很多HTTP/1.1之前的浏览器不能理解303,但是大家都把302当303对待,使用GET请求新URI)


##304 Not Modified##
表示客户端发送附带条件的请求(GET方法请求报文中的IF…)时,条件不满足
返回304时,不包含任何响应主体
虽然304被划分在3XX,但和重定向一毛钱关系都没有


##307 Temporary Redirect##
临时重定向,和302有着相同含义
尽管302标准禁止POST变为GET,但没人听他的
而307就会遵照标准,不会从POST变为GET
但处理响应行为,各个浏览器可能不同


#4XX 客户端错误#
##400 Bad Request##
表示请求报文存在语法错误或参数错误,服务器不理解
服务器不应该重复提交这个请求
需要修改请求内容后再次发送


##401 Unauthorized##
表示发送的请求需要有HTTP认证信息或者是认证失败了
返回401的响应必须包含一个适用于被请求资源的WWW-Authenticate首部以质询用户信息
浏览器初次接受401时,会弹出认证窗口


##403 Forbidden##
表示对请求资源的访问被服务器拒绝了
服务器可以对此作出解释,也可以不解释
想说明的话可以在响应实体的主体部分描述原因
比如说你可能没有访问权限


##404 Not Found##
表示服务器找不到你请求的资源
也有可能服务器就是不想给你然后骗你找不到(⊙ˍ⊙)
而且大多服务器都是这么玩这个状态码的


#5XX 服务器错误#
##500 Internal Server Error##
表示服务器执行请求的时候出错了
可能是Web应用有bug或临时故障
更有可能是服务器源代码有bug…


##503 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
    服务器超负载或停机维护

主页传送门

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

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

    当我们从客户端向服务器发送请求时 服务器向我们返回状态码 状态码就是告诉我们服务器响应的状态 通过它,我们就可以知道当前请求是成功了还是出现了什么问题 状态码是由3位数字和原因短语组成的(比如最常见的 ...

  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. 详解.Net中变量的命名和属性
  2. Apache24 + wsgi + Flask on Python3.8部署实践
  3. [总结] 平衡树总结
  4. 问题:上司说「看你每天准时下班就知道你工作量不饱和」,如何回应
  5. python之路_django分页及session介绍
  6. SpringBoot使用数据库
  7. django视图(views)
  8. 【每日一练】21—CSS实现炫酷动画背景
  9. 南宁二中三中高考2021成绩查询,2021广西重点高中名单及排名
  10. Canvas 绘制直线
  11. iphone手机设置自定义歌曲为铃声教程
  12. 菲尔兹奖-历届获得者
  13. Kafka常用命令(1):kafka-topics
  14. 引入时间轴:动态图模型的共性与特征
  15. Android中的加密方法
  16. 萤石云视频直播切换出现no source found in video tag.的问题解决方法
  17. 最简理解空间三角形中线与边的交点
  18. Oracle-SQL以及PL\SQL练习
  19. ModbusRTU之CRC校验
  20. python转exe怎么不会被杀毒软件_使用Python Shells绕过杀毒软件

热门文章

  1. QT信号和槽机制分析
  2. int和字符串的类型转换
  3. IE6,7,8开发人员工具使用详解下(浏览器模式、文本模式、JavaScript调试、探查器)
  4. 迅雷批处理:漫画下载利器!(娘王下载为例)
  5. 遥测、遥信、遥控、遥调的简要说明
  6. 约四成的平板和智能手机用户看电视时“一心多用”
  7. 基金大数据分析及基金投资建议(Python与Excel实现)
  8. java 根据PDF模板生成PDF文件并导出
  9. 三维扫描系列 点云绪论
  10. IDEA中使用Git功能和IDEA中的Git分支管理