从3.22开始,知乎网站的运行就出问题,总是弹出502页面。
到3.23,竟然更大面积的出现502,甚至连手机APP的界面也是如此。
那么当这种情况出现的时候,站在用户的立场上?他们怎么能够知道这是怎么回事儿?是自己的手机出问题?网络出问题了?还是人品出问题了?
如果不是用户自己的问题:那知乎是被人攻击了?还是自己崩溃了?还是被删库跑路了?
不管别人怎么想,但是作为测试人员:我们必须知道,这样的问题来自于服务器内部!因为这是5开头的HTTP协议的响应状态码!
1、HTTP协议基础
- HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写;
- 是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送协议;
- HTTP是一个基于TCP/IP通信协议来传递数据(HTML 文件, 图片文件, 查询结果等)。
2、HTTP协议的工作模式
- HTTP协议工作于客户端-服务端架构为上。
- 浏览器作为HTTP客户端通过URL向HTTP服务端(即WEB服务器,常用Web服务器有:Apache服务器,IIS服务器(Internet Information Services)等)发送所有请求。
- Web服务器根据接收到的请求后,向客户端发送响应信息。
3、HTTP协议的请求和请求方法
HTTP协议的客户端发送一个HTTP请求到服务器的请求消息包括以下格式:请求行(request line)、请求头部(header)、空行和请求数据四个部分组成,下图给出了请求报文的一般格式。
4、HTTP协议的响应
HTTP响应也由四个部分组成,分别是:状态行、消息报头、空行和响应正文。具体格式如下图所示:
5、HTTP的响应状态码:
当浏览器接收并显示网页前,此网页所在的服务器会返回一个包含HTTP状态码的信息头(server header)用以响应浏览器的请求。HTTP状态码的英文为HTTP Status Code。
HTTP协议的状态码分类:
HTTP常见响应状态码
- 200 - 请求成功
- 301 - 资源被永久转移到其它URL
- 404 - 请求的资源(网页等)不存在
- 500 - 内部服务器错误
除此之外,还有一些其他的响应状态码:
最后不管怎么说:
4**这样的状态码都是客户端错误,请求包含语法错误或无法完成请求;
5**这样的状态码都是服务器错误,服务器在处理请求的过程中发生了错误。