HTTP协议04-返回状态码
状态码职责是在客户端向服务器端发送请求时候,描述返回的请求结果。借助状态码,用户可以知道服务器是否正常处理了请求,还是出错了。
状态码的类别
| 类别 | 原因短语 | |
| 1XX | Informational(信息性状态码) | 接受的请求正在处理 |
| 2XX | Success(成功状态码) | 请求正常处理完毕 |
| 3XX | Redirection(重定向状态码) | 需要进行附加操作以完成请求 |
| 4XX | Client Error(客户端错误状态码) | 服务器无法处理请求 |
| 5XX | Server Error(服务器错误状态码) | 服务器处理请求出错 |
http虽然各种状态码加起来有60多种,但是常用的只有14种。
1)2xx成功 请求被正常处理
1.1 200 OK
表示从客户端发来的请求被服务器端正常处理了。
1.2 204 NO Content
表示从客户端发来的请求被服务器端正常处理,但是没有资源可返回,也就是响应报文中包含实体的主体部分。也不允许返回任何实体的主体,一般在只需要从客户端向服务器端发送信息,而对客户端不需要发送新消息内容的情况下使用,浏览器显示的页面不会发生更新。
1.3 206 Partial Content
该状态码表示客户端进行范围请求,而服务器成功执行了这部分的GET请求。响应报文中包含由Content-Range指定范围的实体内容
2)3XX重定向 服务器需要执行某些特殊的处理以正确处理请求
2.1 301 Moved Permanently
永久性重定向。该状态码表示请求的资源已被分配了新的URI,以后应使用资源现在所指的URI。
2.2 302 Found
临时性重定向。该状态码表示请求的资源已临时分配了新的URI,希望用户本次使用新的URI访问。
2.3 303 See Other
该状态码表示由于请求对应的资源存在着另一个URI,应使用GET方法定向获取请求的资源。
303和302有着相似的功能,但是303状态码明确表示客户端应当采用GET方法获取资源
ps:当301、302、303响应状态码返回时,几乎所有浏览器都会把POST改成GET,并删除请求报文内的主体,然后再次自动发起请求。301和302标准是禁止讲POST方法改成GET方法的,但实际使用时大家都这么做- -
2.4 304 Not Modified
改状态码表示客户端发送附带条件的请求时,服务器端允许请求访问资源,但因发生请求未满足条件的情况后,直接返回304 Not Modified(服务器端资源未改变,可直接使用客户端未过期的缓存),返回时不包含任何响应的主体部分。
附带条件的请求:是指使用GET方法请求报文中包含If-...开头的任一首部字段。
2.5 307 Temporary Redirect
临时重定向。和302有着相同的含义。307会遵照浏览器的标准,不会从POST变为GET。但是,对于处理响应时的行为,每种浏览器有可能出现不同的情况。
3)4XX客户端错误 表示客户端是发生错误的原因所在
3.1 400 Bad Request
该状态表示请求的报文中存在语法错误。当错误发生时,需修改请的内容后再次发送请求。另外浏览器会像对待200一样对待该状态码。
3.2 401 Unauthorized
该状态码表示发送的请求需要通过HTTP认证的认证信息。如果之前已进行一次请求,则表示用户认证失败。返回含有401的响应必须包含一个适用于被请求资源的www-Authenticate首部用以咨询用户信息。当浏览器初次接收到401响应,会弹出认证用的对话窗口。
3.3 403 Forbidden
该状态码表明对请求的资源的访问被服务器拒绝了。(一般是访问权限的问题)
3.4 404 Not Found
该状态码表示服务器上无法找到请求的资源。
4)5XX服务器错误 表示服务器本身发生错误
4.1 500 Internal Server Error
该状态码表明服务器在执行请求时发生了错误。可能是Web应用存在bug或临时故障。
4.2 503 Service Unavailable
该状态码表明服务器暂时处于超负荷或正在进行停机维修,现在无法处理请求。
状态码和状况的不一致
不少返回的状态码响应都是错误的,但是用户可能察觉不到这点,比如Web应用程序内部发生错误,状态码依然返回200 Ok,这种情况也经常遇见。
HTTP协议04-返回状态码的更多相关文章
- HTTP协议6之状态码--转
HTTP状态码,我都是现查现用. 我以前记得几个常用的状态码,比如200,302,304,404, 503. 一般来说我也只需要了解这些常用的状态码就可以了. 如果是做AJAX,REST,网络爬虫, ...
- HTTP 返回状态码
一.HTTP 超文本传输协议 HTTP 是基于客户端/服务端(C/S)的架构模型,通过一个可靠的链接来交换信息,是一个无状态的请求/响应协议. 一个HTTP "客户端"是一个应用程 ...
- HTTP 返回状态码说明
HTTP 返回状态码一.1xx - 信息提示 这些状态代码表示临时的响应.客户端在收到常规响应之前,应准备接收一个或多个 1xx 响应. • 100 - 继续. • 101 - 切换协议. 二.2xx ...
- libcurl库返回状态码解释与速查
libcurl库返回状态码解释与速查 CURLE_OK(0) 支持返回 CURLE_UNSUPPORTED_PROTOCOL(1) 你的URL传递给libcurl的使用协议,这libcurl的 ...
- http返回状态码含义
http返回状态码 http状态码 200 2开头的都表示这个请求发送成功,最常见的就是200,就代表这个请求是ok的,服务器也返回了. 300 3开头的代表重定向,最常见的是302,把这个请求重定向 ...
- zabbix自动发现 url 以及对http返回状态码监控实现 告警
2019-06-04 18:39:12 目的:批量监控业务URL的返回状态码,通过zabbix监控判断业务好坏. 1.zabbix安装 请查看此永久链接:https://www.cnblogs.com ...
- [面试题总结及扩展知识]HTTP协议返回状态码的问题
经常在网页中看到一些错误的返回信息,见一个查一个已经累感不爱,在2014年腾讯笔试题中也见到一道这样的问题,所以现在来总结一下: 腾讯2014面试题: 答案选B 附带一些http协议的错误代码: 当服 ...
- REST = HTTP动词(GET POST PUT DELETE)操作 + 服务器暴露资源URI,最后返回状态码(充分利用HTTP自身的特征,而不仅仅是把HTTP当作传输协议。Rest协议是面向资源的,SOAP是面向服务的),表现形式可以是JSON XML BIN,举例很清楚
好处是,操作系统或者浏览器,可以重复利用它们内置的缓存机制等等. 增删改查都是一个地址,具体靠http头部信息判断. 利用HTTP协议语义构建的语义化.可缓存的接口. URL定位资源,用HTTP动词( ...
- 9. http协议_响应状态码_页面渲染流程_路由_中间件
1. http协议 超文本传输协议 协议详细规定了 浏览器 和 万维网服务器 之间互相通信的规则 客户端与服务端通信时传输的内容我们称之为报文(请求报文.响应报文) 常见的发送 get 请求方式 在浏 ...
- http协议的各类状态码
http协议的状态码 1xx(临时响应) 表示临时响应并需要请求者继续执行操作的状态码. 100(继续) 请求者应当继续提出请求.服务器返回此代码表示已收到请求的第一部分,正在等待其余部分. 101( ...
随机推荐
- Pycharm搭建Django开发环境
Pycharm搭建Django开发环境 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 我们大家都知道Django是python都一个web框架,因此大家需要自行安装python环境 ...
- Hudson管理平台自动化部署war包
继上一篇:Hudson持续集成管理平台搭建 后,我们需要进行项目的自动化部署. 首先:我们先配置<系统管理>中的[系统设置] 然后返回到首页,点击项目名称进入项目内,点击设置: 翻到最底下 ...
- Tomcat、Weblogic、WebSphere、JBoss服务器的选择
一.应用点 Tomcat是Apache基金会提供的Servlet容器,它支持JSP, Servlet和JDBC等J2EE关键技术,所以用户可以用Tomcat开发基于数据库,Servlet和JSP页面的 ...
- linux kill 命令【待完善】【转】
kill 命令用来处理进程, 在linux中即可使用kill -9 pid 杀死进程 , 也可使用kill -KILL pid 等价的命令来执行. HUP 1 终端断线 INT 2 中断(同 Ctrl ...
- Java秒杀系统方案优化 高性能高并发实战(1)
首先先把 springboot +thymeleaf 搞起来 ,参考 springboot 官方文档 本次学习 使用 springboot + thymeleaf+mybatis+redis+Rabb ...
- 错误记录:vue跟vue编译器版本不一致
错误如下: error in ./src/Utils.vue Module build failed: Error: Vue packages version mismatch: - vue@ - v ...
- 向量空间模型(Vector Space Model)的理解
1. 问题描述 给你若干篇文档,找出这些文档中最相似的两篇文档? 相似性,可以用距离来衡量.而在数学上,可使用余弦来计算两个向量的距离. \[cos(\vec a, \vec b)=\frac {\v ...
- 数据库面试题之COUNT(*),COUNT(字段),CONUT(DISTINCT 字段)的区别
COUNT(*).明确的返回数据表中的数据个数,是最准确的 COUNT(列),返回数据表中的数据个数,不统计值为null的字段 COUNT(DISTINCT 字段) 返回数据表中不重复的的数据个数,不 ...
- 数据库设计理论与实践·<一>总结
一.数据库生命周期 数据库生命周期流程图如下: 二.各阶段附图 附图1.1 数据流图 附图1.2 数据字典-方式1 补充说明:数据字典既可以单张表格表示,也可以多种(数据项表/数据结构表/数据流表/外 ...
- cocos2dx 屏幕分辨率
http://cn.cocos2d-x.org/article/index?type=cocos2d-x&url=/doc/cocos-docs-master/manual/framework ...