接口测试基础-HTTP协议
来源:互联网 发布:练六级英语听力的软件 编辑:程序博客网 时间:2024/05/16 01:49
一句话开场:一切脱离业务的测试都是吹牛,一切脱离协议的接口测试都是抓瞎。。。。。。。
做接口测试离不开网络,说起网络,我们回归本源,从万维网开始。
万维网www(World Wide Web)并不是某种特殊的计算机网络。万维网是一个大规模的,联机式的信息储存所。万维网用链接的方法能非常方便的从因特网上的一个站点访问另一个站点。客户程序向服务器发出请求,服务器向客户返回客户需要的万维网资料。
万维网使用统一资源定位符URL(Uniform Resource Locator)来标记万维网上的各种文档,并使每一个文档在整个因特网的范围内具有唯一的标识符URL。HTTP(超文本传送协议)是一个应用层协议,它使用TCP连接进行可靠的传送。HTML(超文本标记语言),使得万维网页面的设计者可以很方便的用链接从本页面的某处链接到因特网上的任何一个万维网页面,并能够在自己的主机屏幕上将这些页面显示出来。
URL的格式一般由以下四部分组成:<协议>://<主机>:<端口>/<路径>, 比如我们访问CSDN网站的一个URL:http://edu.csdn.net/courses/o399_s403,这里省略了默认端口
HTTP协议本身是无连接的,虽然HTTP使用了TCP连接,但通信双方在交换HTTP报文前不需要先建立HTTP连接。
用户在点击鼠标连接万维网时,HTTP协议首先要和服务器建立TCP连接。TCP的三次握手,在三次握手的前两部分完成后,万维网就把HTTP请求报文作为三次握手的第三个豹纹的数据发给万维网服务器。服务器收到HTTP请求报文后,就把所请求的文档作为响应报文返回给用户。
HTTP有两类报文:
请求报文:从客户向服务器发送请求报文
响应报文:从服务器到客户的回答
由于HTTP是面向文本的,因此在报文中的每一个字段都是一些ASCII码率,因此各个字段的长度都是不确定的
HTTP请求报文和响应报文都是由三个部分构成,可以看出,这两种报文的区别就是开始行不同。
1. 开始行,用于区分是请求报文还是响应报文,在请求报文中的开始行叫做请求行,而在响应报文中的开始行叫做状态行。在开始行的三个字段之后都以空格分隔开。
2. 头部行, 用来说明浏览器,服务器或报文主体的一些信息。头部可以有好几行,也能不使用。
3. Body, 在请求报文或者响应报文中可能不使用这部分
- 开始行
请求报文的第一行“请求行”有三部分内容,方法,请求资源的URL,以及HTTP的版本
方法其实就是一些命令,对所请求的对象进行的操作。
以下是一些经常使用的几种方法:
LINK和UNLINK 已经被HTTP 1.1废弃,不再支持。
当客户端向服务器发送请求时,返回的请求,会给出客户本次请求处理的结果,描述处理结果状态的就是响应报文里的状态码。借助状态码,用户可以知道服务器端是正常处理了请求,还是出现了错误。
状态码一般是由3位数字和原因短语组成的,大致有以下分类
下面简单列出各种状态码:
状态码
原因短语
基本描述
200
OK
请求已正常处理
204
No Content
请求处理成功!但没有资源可返回
206
Partial Content
客户端进行了范围请求,服务器成功执行了这部分GET请求
301
Moved Permanently
永久性重定向,请求的资源已被分配了新的URL
302
Found
临时性重定向,请求的资源已被分配了新的URL,希望用户能使用新的URL访问
303
See Other
请求对应的资源存在着另一个URL,应使用GET方法定向获取请求的资源
304
Not Modified
资源已找到,但未符合条件请求
307
Temporary Redirect
与302有相同的含义
400
Bad Request
请求报文中存在语法错误
401
Unauthorized
发送的请求未通过HTTP认证的认证信息
403
Forbidden
不允许访问资源
404
NOT Found
服务器上没有请求的资源
500
Internal Server Error
服务器端在执行请求时发生了错误
503
Service Unavailable
服务器暂时处于超负载或正在进行停机维护
- 头部行
- 接口测试基础-HTTP协议
- 基于http协议的接口测试(1)
- 基于http协议的接口测试(2)
- 接口测试三(http协议简介)
- 接口测试四(http协议)
- 【接口测试】接口测试之HTTP协议一
- 【接口测试】接口测试之HTTP协议二
- web测试基础---url+http协议详解
- LoadRunner做基于http协议的接口测试
- HttpClient在HTTP协议接口测试中的使用
- HttpClient在HTTP协议接口测试中的使用
- java HttpClient在Http协议接口测试中的使用
- 接口自动化测试--HTTP协议五层网络架构
- HttpClient在HTTP协议接口测试中的使用
- 用jmeter做http协议的接口测试
- 使用postMan实现接口测试以及接口自动化回归测试(http协议)
- 渗透测试 | WEB渗透 | 1-HTTP协议基础
- http 协议 测试
- HTML笔记3
- 从一道题看为什么你的工作年限不值钱
- CUDA动态并行
- python web py入门-1-web.py简介和安装
- csdn 登录经常卡住无法登录
- 接口测试基础-HTTP协议
- 数据结构->双链表的操作
- 敏捷开发中高质量 Java 代码开发实践
- 113-Path Sum II
- 吴恩达深度学习笔记之卷积神经网络(实例探究)
- 快速上手
- 电脑里每个盘下都出现$RECYCLE.BIN和system volume information等文件夹
- 数据结构->栈和队列的基本操作
- 《程序员》:唯品会双11大促技术保障实践 为什么耗资数亿的12306一直都非常难用? 96年美女拿下了刘强东的猪脸识别冠军,30万奖金到手! 2017 科技大事件回顾:智能音箱大战、数据泄露于