前言

作者说:在上一节的内容中,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协议(三):状态码的更多相关文章

  1. HTTP协议 (六) 状态码详解

    HTTP协议 (六) 状态码详解 HTTP状态码,我都是现查现用. 我以前记得几个常用的状态码,比如200,302,304,404, 503. 一般来说我也只需要了解这些常用的状态码就可以了.  如果 ...

  2. HTTP协议的状态码

    对于Web编程人员来说,熟悉了解HTTP协议的状态码是很有必要的,很多时侯可能根据HTTP协议的状态码很快就能定位到错误信息!今天整理了一下所有HTTP状态码. HTTP状态码(HTTP Status ...

  3. http协议的状态码——400,401,403,404,500,502,503,301,302等常见网页错误代码

    http协议的状态码 1xx(临时响应) 表示临时响应并需要请求者继续执行操作的状态码. 100(继续) 请求者应当继续提出请求.服务器返回此代码表示已收到请求的第一部分,正在等待其余部分. 101( ...

  4. http协议的状态码(200,404,503)

    http协议的状态码 1xx(临时响应) 表示临时响应并需要请求者继续执行操作的状态码. 100(继续) 请求者应当继续提出请求.服务器返回此代码表示已收到请求的第一部分,正在等待其余部分. 101( ...

  5. Java Web学习总结(21)——http协议响应状态码大全以及常用状态码

    http协议响应状态码大全以及常用状态码 当我们在浏览网页或是在查看服务器日志时,常会遇到3位数字的状态码,这3位数字是什么意思呢?其实,这3位数字是HTTP状态码,用来表示网页服务器HTTP响应状态 ...

  6. HTTP协议常用状态码

    HTTP协议常用状态码   <?php    send_http_status(404);   /**  * HTTP Protocol defined status codes * HTTP协 ...

  7. 三方面搞定http协议之“状态码”

    当我们向服务器请求数据的时候,服务器会给我们一个反馈,告诉我们对待我们的请求,服务器处理得怎么样了,而这个反馈,是通过数字来传达的,这个数字就叫状态码. 状态码分为以下几种: 1xx:指示信息--表示 ...

  8. HTTP协议 -- 认清协议常用状态码

    HTTP协议作为web服务的基础,理所应当受到重视,但是周围的同事能够讲清楚HTTP协议的凤毛麟角.既然是基础,就应该早一点掌握,所以近半年(2016-2月——2016年6月),不准备学习新技术了.首 ...

  9. HTTP协议之状态码详解

    转自:http://www.cnblogs.com/TankXiao/ 什么是HTTP状态码 HTTP状态码的作用是:Web服务器用来告诉客户端,发生了什么事. 状态码位于HTTP Response ...

  10. http协议常见状态码含义

    状态码有三位数字组成,第一个数字定义了响应的类别,且有五种可能取值: 2xx:成功--表示请求已被成功接收.理解.接受 200(成功)  服务器已成功处理了请求.通常,这表示服务器提供了请求的网页. ...

随机推荐

  1. ubuntu16下安装mongodb 3.6

    1.安装MongoDB社区版     # 1. 导入MongoDB public GPG Key sudo apt-key adv --keyserver hkp://keyserver.ubuntu ...

  2. 注解方式实例化Java类

    context:component-scan标签: Sprng容器通过context:component-scan标签扫描其base-package标签属性值指定的包及其子包内的所有的类并实例化被@C ...

  3. python二维图像输出操作大全(非常全)!

    //2019.07.141.matplotlib模块输出函数图像应用时主要用的是它的ptplot模块,因此在导入使用该模块时可以直接用以下语句:import matplotlib.pyplot as ...

  4. UVA - 10635 Prince and Princess(LCS,可转化为LIS)

    题意:有两个长度分别为p+1和q+1的序列,每个序列中的各个元素互不相同,且都是1~n2的整数.两个序列的第一个元素均为1.求出A和B的最长公共子序列长度. 分析: A = {1,7,5,4,8,3, ...

  5. (win32)解决虚拟按键被输入法截获(转)

    源博客地址:http://blog.csdn.net/kencaber/article/details/51417871 响应WM_KEYDOWN消息时发现`~快捷键无效,设置断点发现得到的按键消息根 ...

  6. Idea--使用Idea调试设置

    参考 https://blog.csdn.net/yyjava/article/details/81453748 关闭一些Idea默认设置,否则懵逼到爆炸.. 1.关闭集合类视图 2.关闭watch视 ...

  7. DRF项目之通过业务逻辑选择数据集和序列化器

    在REST后台开发中,我们需要通过业务逻辑来选择数据集或者序列化器. 选择数据集: # 重写get_queryset实现通过业务逻辑选择指定数据集 def get_queryset(self): '' ...

  8. Python函数(三)

    递归函数 在函数内部,可以调用其他函数,如果一个函数的内部调用了自己本身,那么这个函数就是递归函数. 什么?函数还可以自己调用自己?那不是一个死循环吗?请看下例: # 求1-100的和 def sum ...

  9. 八十五、SAP中的ALV创建之四,去掉主键背景色

    一.我们执行程序之后,发现表格中所有的内容都是有底色的 二.这个是因为我们在代码中规定了主键 三.我们去掉处理第一个之外的主键 四.运行程序,发现还是所有字段都有背景色 五.这是因为在每次ls_fie ...

  10. python+opencv+dlib瘦脸效果

    对实现人脸瘦脸简单功能的一个记录,大概流程如下: 1.使用dlib检测出人脸关键点 2.使用Interactive Image Warping 局部平移算法实现瘦脸 参考:https://blog.c ...