常见16种HTTP状态返回码
服务器返回的16种常见HTTP状态码
当我们从客户端向服务器发送请求时
服务器向我们返回状态码
状态码就是告诉我们服务器响应的状态
通过它,我们就可以知道当前请求是成功了还是出现了什么问题
状态码是由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
请求正常处理完毕 - 201 Created 示请求成功并且服务器创建了新的资源,且其 URI 已经随Location 头信息返回
- 202 Accepted 服务器已接受请求,但尚未处理
- 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应用故障 - 502 Bad Gateway 表示作为网关或代理角色的服务器,从上游服务器(如tomcat、php-fpm)中接收到的响应是无效的。
- 503 Service Unavailable
服务器超负载或停机维护
常见16种HTTP状态返回码相关推荐
- 通过curl获取HTTP状态返回码
通过curl获取HTTP状态返回码 监控网站的存活状态 curl -o /dev/null -s -w %{http_code} 100.0.143 参数: -o /dev/null 将网站的返回信息 ...
- http常见状态返回码
在学习网页设计的时候都应该知道状态码,但我们常见的状态码都是200,404,500,下面介绍其他的状态值 1开头的http状态码 表示临时响应并需要请求者继续执行操作的状态代码. 100 (继续) ...
- HTTP 状态返回码
HTTP状态码,我都是现查现用. 我以前记得几个常用的状态码,比如200,302,304,404, 503. 一般来说我也只需要了解这些常用的状态码就可以了. 如果是做AJAX,REST,网络爬虫,机 ...
- HTTP调用状态返回码
200表示成功: 3XX表示跳转: 4xx表示调用端出错: 5xx表示服务端出错:
- HTTP常见的返回码
1xx:指示信息.表示请求已接收,继续处理 2xx:成功.表示请求以成功接收.理解.接受. 3xx:重定向.要完成请求必须进行更进一步的操作. 4xx:客户端错误.请求有语法错误或者请求无法实现 5x ...
- HTTP请求过程 常见协议 请求类型 状态码 websocket
HTTP(HyperText Transfer Protocol)超文本传输协议,是一种用于分布式.协作式和超媒体信息系统的应用层协议. HTTP 是一个简单的请求-响应协议,是客户端和服务端之间请求 ...
- 常见的HTT相应状态码
常见的HTT相应状态码 200:请求被正常处理 204:请求被受理但没有资源可以返回 206:客户端只是请求资源的一部分,服务器只对请求的部分资源执行GET方法,相应报文中通过Content-Rang ...
- http状态码查询,各种返回码的详解(200、206、500、416、403、404)
http状态码查询,各种返回码的详解(200.206.500.416.403.404) 文章由帮客之家于2013-11-25 12:11:44分享 评论(324) HTTP状态码,我都是现查现用. 我 ...
- 函数对称性常见公式_excel函数对称性常见公式 16种常见的COUNTIF函数公式设置
excel函数对称性常见公式 16种常见的COUNTIF函数公式设置,前天刚学习了一个excel的新技术,叫"excel函数对称性常见公式"授课老师对我们说,这一技术的专业全称为& ...
最新文章
- golang 使用 http socks 代理
- java 注解 id_java注解
- oracle存储过程获取异常信息码和异常信息
- WEB页面性能指标与建议
- 医疗大数据服务平台技术架构有哪些
- ASA REST API安装步骤
- C# list集合 重复元素 索引_Python列表(List)
- css网页设计qq彩贝
- 我所知道坦克大战(单机版)之 让子弹飞、让坦克控制子弹开炮
- kvm linux重置密码,超微主板使用ipmicfg重置IPMI密码
- 计算机两万字符英语文献翻译,自动化专业相关英文文献加翻译(20000字符).doc
- 开放开源开先河(上)
- sql 查询之排除某种特定的数据
- excel未保存强制关闭计算机,Excel文件未保存就关闭了,怎么恢复数据?
- Galaxy Tab3 10.1如何开启被隐藏的开发者选项?
- IDE新建gradle liferay workspace项目没有项目目录问题解决方案
- Select之多表查询
- 企业信息安全很重要?私有化部署为企业信息保驾护航
- JavaScript经典进阶:javascript – 9宫格 – 拼图
- 【密】设计院“图框”制作
热门文章
- php中 br什么意思,html br标签是什么意思?还有htmlbr/和/br的区别是什么?
- Day1小白做毕设(跟着青哥学java哔哩哔哩搜程序员青戈)
- 脊髓损伤早期康复的误区你都知道吗?
- qmainwindow 标题栏_Qt之360安全卫士主界面(标题栏)
- 网页设计与制作html+css
- javascript(js) Uint8Array转普通数组(int数组)数组拼接concat Uint8Array没有concat()方法
- Qt利用布局,widget和ScrollArea实现抽屉效果
- ESP8266 TCP 调试问题 MALLOC问题
- Linux环境下ElasticSearch的安装与使用(SpringBoot整合云服务器上的ElasticSearch)
- 高职计算机应用专业课程,高职计算机应用技术专业课程改革