http请求502_从知乎页面的502说一说测试人员应该知道的HTTP协议状态码!

568ffe14ae99c8bbea57a6095e5c7eb7.png

从3.22开始,知乎网站的运行就出问题,总是弹出502页面。

c5220460e2f25c3f0b441ee507d91122.png

到3.23,竟然更大面积的出现502,甚至连手机APP的界面也是如此。

31b16c86e2f8b3ab777b7a95b9b4d22b.png

那么当这种情况出现的时候,站在用户的立场上?他们怎么能够知道这是怎么回事儿?是自己的手机出问题?网络出问题了?还是人品出问题了?

adce49334532e62207895068072abf98.png

如果不是用户自己的问题:那知乎是被人攻击了?还是自己崩溃了?还是被删库跑路了?

不管别人怎么想,但是作为测试人员:我们必须知道,这样的问题来自于服务器内部!因为这是5开头的HTTP协议的响应状态码!

1、HTTP协议基础

  • HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写;
  • 是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送协议;
  • HTTP是一个基于TCP/IP通信协议来传递数据(HTML 文件, 图片文件, 查询结果等)。

a6f79e2a65a9883dad9a16a41384708b.png

2、HTTP协议的工作模式

  • HTTP协议工作于客户端-服务端架构为上。
  • 浏览器作为HTTP客户端通过URL向HTTP服务端(即WEB服务器,常用Web服务器有:Apache服务器,IIS服务器(Internet Information Services)等)发送所有请求。
  • Web服务器根据接收到的请求后,向客户端发送响应信息。

46cc39aa625de244c611e8735a48ee1f.png

3、HTTP协议的请求和请求方法

HTTP协议的客户端发送一个HTTP请求到服务器的请求消息包括以下格式:请求行(request line)、请求头部(header)、空行和请求数据四个部分组成,下图给出了请求报文的一般格式。

c4764ad5c36f3a22ff25b1b8aa9381e5.png

60f5b441211351103e8c6106208c4a5d.png

4、HTTP协议的响应

HTTP响应也由四个部分组成,分别是:状态行、消息报头、空行和响应正文。具体格式如下图所示:

35bc9fd3744fb067d1f47ba46236c1f0.png

5、HTTP的响应状态码:

当浏览器接收并显示网页前,此网页所在的服务器会返回一个包含HTTP状态码的信息头(server header)用以响应浏览器的请求。HTTP状态码的英文为HTTP Status Code。

750b17b6da47ac6dc0e7dbd9eb360656.png

HTTP协议的状态码分类:

d537c4e417f613a2ec6baf29112c39cf.png

HTTP常见响应状态码

  • 200 - 请求成功
  • 301 - 资源被永久转移到其它URL
  • 404 - 请求的资源(网页等)不存在
  • 500 - 内部服务器错误

354f04000c8532579b0d8c832e822b19.png

5323677d1d79a6b75698f26eea4d0716.png

4abd8de499afd17188faf662b4b4f017.png

f48635d2ed908b581bfa16ef661630c9.png

除此之外,还有一些其他的响应状态码:

fc03a4243ca60d67bf2b6cbccfbfc6c6.png

d91151fda8639129ec9fd2140d21fc3d.png

9019c64d98bf62d6de26229a0b4067c3.png

f2b563a497703743d4b3788571b9d544.png

最后不管怎么说:

4**这样的状态码都是客户端错误,请求包含语法错误或无法完成请求;

5**这样的状态码都是服务器错误,服务器在处理请求的过程中发生了错误。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/526079.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

docker 封装sql_docker封装mysql镜像

docker封装mysql镜像发布时间:2020-03-13 12:18:07编辑:admin阅读(967)一、概述直接使用官方的镜像docker pull mysql:5.7但是mysqld.cnf并没有优化,还是默认的。二、封装镜像创建目录# dockerfile目录mkdir -p /opt/dockerfile/mysql# 持久化…

怎么看vray渲染进度_3dmax渲染怎么看渲染时间

回答:如果你用VRAY渲染器的话, 按下F10在渲染选项卷展栏里--渲染器--VRAY系统---帧标记勾选,后面的文字是very的版本信息时间等,你可以对这些文字进行修改,那个rune time,是渲染时间。【3DMAX 2009最终渲染输出设置参数…

mysql binlog 订阅_数据库binlog订阅和消费组件canal快速入门

一、什么是canal1.定位Canal是阿里巴巴开源的一款基于mysql数据库binlog增量日志分析提供数据订阅和消费功能的组件2.原理Canal模拟MySQL Slave协议,将自己伪装成MySQL Slave,将Master发送dump协议Master将binlog同步到Slave(这里是Canal)Canal解析binlo…

工具系列:TensorFlow决策森林_(8)组合决策森林和神经网络模型

文章目录 介绍安装 TensorFlow Decision Forests导入库数据集模型结构模型训练评估决策森林下一步是什么? 介绍 欢迎来到TensorFlow Decision Forests(TF-DF)的模型组合教程。本教程将向您展示如何使用通用的预处理层和Keras函数式API将多个…

python 调用不存在的方法 统一处理_提取不重复数据在Excel、SQL与Python中的处理方法...

村长今天跟大家简单分享一下如何在Excel、SQL和Python中用不同的方法提取不重复值(数据去重)。一、Excel1.1、函数法(数组公式)函数公式:IFERROR(INDEX(A:A,SMALL(IF(MATCH($A$2:$A$16,$A$2:$A$16,0)ROW($1:$15),ROW($2:$16),9^9),ROW(A1))),"")1.2、技巧…

yum安装mysql5.7 简书_阿里云服务器(centos7.3)上安装jdk、tomcat、mysql、redis

前言:平时我们敲的项目,只能在本地浏览,不论项目写得怎么样只有自己看得到,只有发布到了云服务器,别人才能访问得到。学习之路就是这样,当别人能访问自己的项目时,会更有成就感,所以接下来就一起…

python绘制四边螺旋线代_解决python彩色螺旋线绘制引发的问题

彩色螺旋线的绘制代码如下:import turtleimport timeturtle.pensize(2)turtle.bgcolor(black)colors [red, yellow, purple, blue]turtle.tracer(False)for x in range(400):turtle.forward(2*x)turtle.color(colors[x % 4])turtle.left(91)turtle.tracer(True)tim…

idea创建java项目目录结构_用IDEA创建一个简单的Maven的JavaWeb项目

1.项目环境IDEA:2016.2JDK:1.8.0_76Maven:3.2.52.File-->New-->Project-->Maven3.选择Project SDK:1.8,然后勾选下方的Create from archetype,选择maven archetype webapp,点击Next4.填…

jmeter java性能_jmeter java性能测试

本篇文章主要讲解jmeter如何测试java请求,以项目中某个接口为例,请求数据为post,返回也为post1:新建maven工程,pom文件为1 2 xsi:schemaLocation"http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd…

ckeditor java 上传_java使用CKEditor实现图片上传功能

java如何使用ckeditor实现图片上传功能,具体内容如下1.根据实际需要下载指定的ckeditor2.删除文件ckeditor/plugins/image/dialogs/image.js预览框中文本内容,并修改hidden属性值为显示上传选项卡删除image.js中包含在双引号中的上述文本将image.js中的h…

java 程序流程控制知识点_JAVA基础知识点梳理三:流程控制语句

条件语句之 if语法:执行过程:例:int score 65;if (score > 60) {System.out.println("该学生及格");}//注:如果 if 条件成立时的执行语句只有一条,大括弧可以省略,但如果执行语句有多条&…

寂静岭3java攻略_《寂静岭3HD》通关心得:感人之佳作

作者:jet1942(原帖点击进入)寂静岭是什么?它是人的内心世界,它是人赎罪的地方。读了这句话后,是不是感觉意境非常深邃,还带有些恐怖感?是的,这就是寂静岭的魅力所在,作为一款AVG类游戏,他与生化危机不同&…

form表单图片预览 layui_layui 实现图片上传和预览

[学习笔记]图片不自动上传并在表单提交时再上传,看代码。附上表单页面前台实现autocomplete"off" class"layui-input" disabled>autocomplete"off" class"layui-input">上传图片确定layui.use([form, layer, upload]…

java不会框架怎么办_感觉学java无从下手了,各种框架乱七八糟,感觉好乱。该怎么办!?...

image各种各样的编程语言不断崛起,但唯有Java是牢牢占据着老大的位置,目前几乎90%以上的大中型互联网应用系统在服务器端开发首选Java。因此,也是吸引了不少年轻人投入到Java的学习之中。但不得不说,Java作为老牌编程语言&#xf…

java基数排序 数组_万字长文带你掌握Java数组与排序,代码实现原理都帮你搞明白!...

查找元素索引位置基本查找根据数组元素找出该元素第一次在数组中出现的索引public class TestArray1 {public static void main(String[] args) {//定义一个数组int[] arr{10,20,70,10,90,100,1,2};//根据元素查找出该元素在数组中第一次出现的索引int indexgetIndexByEle(arr,…

php是走什么协议,TCP是什么协议

TCP代表传输控制协议,是Internet协议套件中的基本协议,是一种网络通信协议;它规定如何建立和维护两个程序可以交换数据的连接,通过Internet发送信息的方式。TCP代表传输控制协议,是Internet协议套件中的基本协议&#…

php yii 命令行,命令行模式(Command)

命令行模式(Command)3.2.1. 目的为了封装调用和解耦。我们有一个调用程序和一个接收器。 这种模式使用「命令行」将方法调用委托给接收器并且呈现相同的「执行」方法。 因此,调用程序只知道调用「执行」去处理客户端的命令。接收器会从调用程序中分离出来。这个模式…

php 获取 js json数据类型,JS基础-JS的数据类型和访问/流程控制/JSON格式字符串和js对象相互转换...

JS的数据类型和访问/流程控制/JSON格式字符串和js对象相互转换1. JS的数据类型和访问1.1. 原始类型JS中的原始数据类型有: number , string , boolean ;声明变量使用 var 关键字./* 数字类型 */varyear2020;/* 字符串类型 */varnamezhangsan;/* 布尔类型 */varisUpdatefalse;获…

python 数据挖掘论文,Orange:一个基于 Python 的数据挖掘和机器学习平台

Orange 简介Orange 是一个开源的数据挖掘和机器学习软件。Orange 基于 Python 和 C/C 开发,提供了一系列的数据探索、可视化、预处理以及建模组件。Orange 拥有漂亮直观的交互式用户界面,非常适合新手进行探索性数据分析和可视化展示;同时高级…

php量表是什么心理量表,心理学中的“5大心理学测评量表”你知道多少?

原标题:心理学中的“5大心理学测评量表”你知道多少?心理学知识中涵盖了类型丰富的心理学测评量表,你知道其中的多少呢?1、《应对方式问卷》《应对方式问卷》由肖计划等人参照国内外应对研究的问卷内容以及有关应对理论&#xff0…