前言

作者说:在上一节的内容中,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. Kubernetes——命令行操作

    如果集群初始化失败需要的操作: master:  kubeadm reset   #回答y  执行一条它提示给你的iptables命令即可 node:  systemctl stop kubelet  ...

  2. Redis——从入门到放弃

    redis简介 Redis is an open source (BSD licensed), in-memory data structure store, used as a database, ...

  3. SpringBoot如何返回页面

    SpringBoot中使用Controller和页面的结合能够很好地实现用户的功能及页面数据的传递.但是在返回页面的时候竟然会出现404或者500的错误,我总结了一下如何实现页面的返回以及这里面所包含 ...

  4. other#apache-commons

    if you want to be a better javaer, you should  spent time on apache commons.

  5. 使用线程池测试cpu的并发计算能力

    接到一个需求是测试一下cpu并发计算能力,针对int和float求和单位时间能执行几次的问题.可能是服务器选型用到的参数. 开始使用的是fork-join,但是发现fork-join每次得到的结果值波 ...

  6. 7.7 Varnishadm命令

  7. 02 DML(DataManipulationLanguage)

    1.插入记录     基本语法 :         INSERT INTO tbl_name (col_name ,col_name1,..,col_nameN) VALUES (val1,val2, ...

  8. JuJu团队12月4号工作汇报

    JuJu团队12月4号工作汇报 JuJu   Scrum 团队成员 今日工作 剩余任务 困难 于达 调试 无 无 婷婷 和陈灿一起提升acc 无 无 恩升 纠正chunk evaluator 无 无 ...

  9. C语言备忘录——qsort

    写了这么久的排序感觉还是用现成的最舒服.其实C语言其实自己带了一个快速排序在stdlib 库里,但是其函数调用的接口过于复杂,所以让人望而却步.为了加深自己的记忆,所以写下这篇博客 先来看一下函数原型 ...

  10. a标签的超链接提交form表单

    <form action="/home/search" method="get" id="search_form"><di ...