上一章节我们学习了JMeter接口测试的执行顺序与作用域,我们这节课继续学习JMeter接口测试基于RFC723X的标准HTTP协议。在学习的过程中大家有不懂的地方可以联系在线老师,一对一辅导。
一:HTTP协议简介
二: HTTP报文格式
超文本传输协议(英语:HyperText Transfer Protocol,缩写:HTTP)是一种用于分布式、协作式和超媒体信息系统的应用层协议。HTTP是万维网的数据通信的基础。HTTP的标准制定由万维网协会(World Wide Web Consortium,W3C)和互联网工程任务组(InternetEngineering Task Force,IETF)进行协调,最终发布了一系列的RFC,其中最著名的是1999年6月公布的RFC2616,定义了HTTP协议中现今广泛使用的一个版本——HTTP 1.1。
从2007开始到2014为止,经过多年的努力,RFC2616和RFC2617已经被废弃,被新的RFC7230-RFC7239共10个文档所代替。下面对HTTP协议的介绍都是基于最新的RFC7230-RFC7239。
HTTP协议是Web客户端与Web服务器之间通信规则的集合.协议有语法,语义与时序三个要素.在通信过程中通信双方需要遵循基本的语法要素,而HTTP报文的格式体现的语法层次的基本要求。
一般来说HTTP报文(消息)可以分为HTTP请求报文与HTTP响应报文,这里参考最新的HTTP1.1 RFC7230-7239,HTTP-message具体格式如下图所示:
三:请求方法
1、HTTP/1.1标准方法
HTTP/1.0定义了三个方法:GET,HEAD,POST;HTTP/1.1在其基础上扩充了PUT,DELETE,CONNECT,OPTIONS,TRACE方法;后来在RFC5789中又新增了PATCH方法,可以看成是对PUT方法的补充。
2、WebDAV扩展方法
WebDAV(Web-based Distributed Authoring and Versioning)一种基于HTTP/1.1协议的通信协议。它扩展了HTTP/1.1,在GET、POST、HEAD等几个HTTP标准方法以外添加了一些新的方法,使应用程序可对Web Server直接读写,并支持写文件锁定(Locking)及解锁(Unlock),还可以支持文件的版本控制。
WebDAV扩展的主要方法如下:
3、RESTful HTTP请求方法
WebDAV(Web-based Distributed Authoring and Versioning)一种基于HTTP/1.1协议的通信协议。它扩展了HTTP/1.1,在GET、POST、HEAD等几个HTTP标准方法以外添加了一些新的方法,使应用程序可对Web Server直接读写,并支持写文件锁定(Locking)及解锁(Unlock),还可以支持文件的版本控制。
REST(Representational State Transfer)是Roy Thomas Fielding博士于2000年在他的博士论文中提出来的一种万维网软件架构风格,目的是便于不同软件/程序在网络(例如互联网)中互相传递信息。表
现层状态转换是根基于超文本传输协议(HTTP)之上而确定的一组约束和属性,是一种设计提供万维网络服务的软件构建风格。符合或兼容于这种架构风格(简称为 REST 或 RESTful)的网络服务,允许客户端发出以统一资源标识符访问和操作网络资源的请求,而与预先定义好的无状态操作集一致化。
HTTP请求方法在RESTful API中的典型应用如下:
4、JMeter对HTTP请求方法的支持JMeter取样器"HTTP Request"支持的请求方式与其实现方式有关,在最新的JMeter5.2.1版本中有"HttpClient4"与"Java"两种方式,具体细节如下表所示:
四:状态码
五:首部字段
下节课预告:JMeter测试HTTP GET
这节课就学习到这里啦,大家喜欢的话记得每天来这里和小编一起学习涨薪技能哦!(笔芯)