HTTP协议(三):状态码
前言
作者说:在上一节的内容中,HTTP大佬介绍了他是怎么让服务器和用户达成信息交互的,详细的说明了连接建立过程中用到的一些基本的技术原理,包括请求报文响应报文、建立持久化连接用的Cookie技术等内容。这一节的内容非常有意思,就是那种叫做HTTP状态码的东西。没错,就是上一节中的HTTP报文中的一部分的状态码:200 OK。
状态码的作用
你应该已经知道了,其实我的最根本的作用就是连接服务器老大和用户(人类)。你肯定也知道,世界上并不是所有的东西都能向着自己想象的方向发展。比如说,你喜欢上一个姑娘,最大的心愿自然是和她在一起,但是,人家并不喜欢你,这样,你的心愿就没法达成(扎心了)。这里面让你最终知道你的心愿没法达成的标志是什么?没错,就是人家姑娘给你的反馈:人家并不喜欢你。这也算是一种标志,标志着你们能否在一起,标志着你的心愿是否能够达成。
而我的心愿,自然就是能够帮助用户和服务器老大建立连接,但是,人家服务器老大可忙了,又加上他的身体不太好,经常停机维修,或者是用户自己的问题,并不能完成这个连接过程,这时候,用户就需要得到一种反馈——我和服务器是否建立了连接?如果没有,那么究竟是哪一方出现的问题?
以上的这种需求,就是状态码需要做的事情。
HTTP 状态码负责表示客户端 HTTP 请求的返回结果、标记服务器端的处理是否正常、通知出现的错误等工作。
状态码的组成
状态码如200 OK,由3位数字和原因短语组成。数字的第一位是响应类别,后两位就是个标志,表示是这个类别中的什么状态。
- 状态码的分类
状态码示例
- 2xx 请求正常处理完成
状态码名称 | 描述 |
---|---|
200 OK | 表示请求别正确处理了,大多数的请求都是这个情况 |
204 No Content | 请求成功,但是返回的响应报文实体没有内容 |
206 Partial | 是对某一部分的内容进行的请求 |
- 3XX 需要进行附加操作以便于完成请求
状态码名称 | 描述 |
---|---|
301 Moved Permanently | 永久性重定向,表示请求的资源已经被分配了新的URI,讲重定向到新的地址 |
302 Found | 临时性重定向,表示资源已经被分配了新的URI,希望用户在本次访问的情况下能够使用新的URI访问 |
303 See Other | 303与302的功能是相同的,唯一不同的是请求的方式,303要求用户以get方式访问该资源 |
- 4XX 客户端错误
状态码名称 | 描述 |
---|---|
400 Bad Request | 请求报文语法出现错误 |
401 Unauthorized | 表示发送的请求需要通过请求验证才能继续 |
403 Forbidden | 表明对请求资源的访问被服务器拒绝了 |
404 Not Found | 这个和20OK一样常见,不同的是,这个代表访问的资源不存在,所以404,你懂的 |
- 5XX 服务器错误
从我个人的经验来看,这个问题一般会出现在开发者调试程序的过程中emmmm,bug比较多。。。
状态码名称 | 描述 |
---|---|
500 Internal Server Error | web应用出现bug |
503 Service Unavailable | 表明服务器暂时处于超负载或正在进行停机维护 |
好了,相信到这里,你应该对状态码有了很深刻的理解了吧,如果你有什么疑问,欢迎qq、微信、邮箱交流,也可以在下面留言。
未完待续……
结语
感谢您的阅读,欢迎指正博客中存在的问题,也可以跟我联系,一起进步,一起交流!
微信公众号:进击的程序狗
邮箱:roobtyan@outlook.com
个人博客:http://roobtyan.cn
如果喜欢我的文章,那么就扫描下面的二维码关注我吧
HTTP协议(三):状态码的更多相关文章
- HTTP协议 (六) 状态码详解
HTTP协议 (六) 状态码详解 HTTP状态码,我都是现查现用. 我以前记得几个常用的状态码,比如200,302,304,404, 503. 一般来说我也只需要了解这些常用的状态码就可以了. 如果 ...
- HTTP协议的状态码
对于Web编程人员来说,熟悉了解HTTP协议的状态码是很有必要的,很多时侯可能根据HTTP协议的状态码很快就能定位到错误信息!今天整理了一下所有HTTP状态码. HTTP状态码(HTTP Status ...
- http协议的状态码——400,401,403,404,500,502,503,301,302等常见网页错误代码
http协议的状态码 1xx(临时响应) 表示临时响应并需要请求者继续执行操作的状态码. 100(继续) 请求者应当继续提出请求.服务器返回此代码表示已收到请求的第一部分,正在等待其余部分. 101( ...
- http协议的状态码(200,404,503)
http协议的状态码 1xx(临时响应) 表示临时响应并需要请求者继续执行操作的状态码. 100(继续) 请求者应当继续提出请求.服务器返回此代码表示已收到请求的第一部分,正在等待其余部分. 101( ...
- Java Web学习总结(21)——http协议响应状态码大全以及常用状态码
http协议响应状态码大全以及常用状态码 当我们在浏览网页或是在查看服务器日志时,常会遇到3位数字的状态码,这3位数字是什么意思呢?其实,这3位数字是HTTP状态码,用来表示网页服务器HTTP响应状态 ...
- HTTP协议常用状态码
HTTP协议常用状态码 <?php send_http_status(404); /** * HTTP Protocol defined status codes * HTTP协 ...
- 三方面搞定http协议之“状态码”
当我们向服务器请求数据的时候,服务器会给我们一个反馈,告诉我们对待我们的请求,服务器处理得怎么样了,而这个反馈,是通过数字来传达的,这个数字就叫状态码. 状态码分为以下几种: 1xx:指示信息--表示 ...
- HTTP协议 -- 认清协议常用状态码
HTTP协议作为web服务的基础,理所应当受到重视,但是周围的同事能够讲清楚HTTP协议的凤毛麟角.既然是基础,就应该早一点掌握,所以近半年(2016-2月——2016年6月),不准备学习新技术了.首 ...
- HTTP协议之状态码详解
转自:http://www.cnblogs.com/TankXiao/ 什么是HTTP状态码 HTTP状态码的作用是:Web服务器用来告诉客户端,发生了什么事. 状态码位于HTTP Response ...
- http协议常见状态码含义
状态码有三位数字组成,第一个数字定义了响应的类别,且有五种可能取值: 2xx:成功--表示请求已被成功接收.理解.接受 200(成功) 服务器已成功处理了请求.通常,这表示服务器提供了请求的网页. ...
随机推荐
- 0106 springMVC REST风格
markdown 印象笔记语法练习带快捷键的 加粗 快捷键 cmd+b 斜体 cmd+i 分割线 cmd+u 编号列表: cmd+shift+o 无编号列表 cmd+shift+u 待办事项 cmd+ ...
- C++ 语言程序设计(清华大学)1
1.回文数字判断方法(逆过来数值相等):y=y*10+x%10; x /= 10; return(x==y) 2.int rand(void)函数,所需头文件<cstdlib> ,功能是求 ...
- [题解] UVA11426 GCD - Extreme (II)
题面 莫反是不可能莫反的,这辈子都不可能莫反了 题目要求的是 \[ \sum\limits_{i=1}^n \sum\limits_{j=i+1}^n \gcd(i,j) \] 稍微变个亚子 \[ \ ...
- docker-compose(grafana influxdb) + telegraf 快速搭建简单监控
灵活实现方案: 1: telegraf 为go 语言写得占用内存小 收集主机各项监控数据 定时写入 时序DB influxdb ------------------------&qu ...
- 20200119日志 EPLAN高压房 VFD 单线图 心得
提纲: EPLAN 画单线图的方法,可以先绘制原理图,然后在一个柜子里面的器件 用方框圈起来.方框名称一样.注意 一个工程里面的器件编号是唯一的. 断路器选型. PT 手车 接地刀作用 具体内 ...
- lvm 通过扩容本身磁盘容量扩容
场景:sdb之前是3G容量,现在扩容了sdb的容量到8G.现在把新扩容的5G容量扩展到现有的逻辑卷中 [root@localhost ~]# pvresize /dev/sdb Physical v ...
- netty权威指南学习笔记一——NIO入门(4)AIO
NIO2.0引入了新的异步通道的概念,并提供了异步文件通道和异步套接字通道的实现.异步通道提供以下两种方式获取操作结果. 1.通过java.util.concurrent.Future 类来表示异步操 ...
- 国产超低功耗蓝牙5.0 PHY6202替换NRF51822
现在在智能穿戴领域市场不断的追求低功耗.低成本的蓝牙芯片.蓝牙芯片目前除了Dialog公司研制蓝牙芯片是最求超低功耗的但是对于其它性能上还比较满足不了其它领域的功能,另外NORDIC.TI的蓝牙芯片虽 ...
- 文本编辑器vim/vi——末行模式
指令格式: #vim 文件路径作用:打开指定的文件. 进入方式:由命令模式进入,按下“:”或者“/(表示查找)”即可进入 退出方式: a. 按下esc b. 连按2次esc键 c. 删除末行全部输入字 ...
- windows下移植别人配置好的python环境
一般来说,我们在windows下配置python环境的时候可能会比较推荐用anaconda,那么有一个比较方便的anaconda环境移植方法,也就是说,如果我已经在windows上安装好了anacon ...