http request(http请求)
理解:一个http请求指从客户端到服务器端的请求消息,我们可以通过浏览器的F12键,可以看到以下信息
请求地址:url
请求方法:HEAD/GET/POST/PUT/POTIONS/DELETE/PATCH
HTTP协议/版本:大家可以自己打开浏览器按F12去仔细查看
请求头:
请求参数:
通过工作经验总结,我们可以得到以下几点:
请求方法:即http请求的提交方式,一般以get和post居多
url:请求资源的标识,可以理解为一个请求的路径信息
协议:http协议
版本:1.1
请求正文:请求参数
请求头:告诉服务器关于客户端环境和请求正文相关的一些信息,例如浏览器版本,请求参数的长度
请求头详解
User-Agent:告诉服务器客户端的相关信息(如果是浏览器会有版本,内核等信息)
referer:告诉服务器,此请求是从哪个页面上发出来(防盗链)
X-Requested-With:告诉服务器这个是一个ajax请求
Cookie:带给服务器的cookie信息
请求头可以在代码中指定,添加,通过键值对的形式,调用:addHeader(String name,String value)即可在请求对象中添加一个名字为name,值为value的请求头
jmeter添加Http请求
属性描述:
名称: 显示的此取样器的描述性名称,可自定义,一般我会按照实际场景和url区分名称
注释:顾名思义就是备注
协议 :http/https,如果在http请求默认值中定义了则此处不需要再次填写
服务器名称或IP :Web服务器的域名或IP地址
端口 :Web服务器使用的端口
方法:请求方法:GET,POST,HEAD,TRACE, OPTIONS,PUT,DELETE,PATCH(JAVA 实现不支持 )。使用HttpClient4,还允许以下与WebDav相关的方法:COPY,LOCK,MKCOL,MOVE, PROPFIND,PROPPATCH,UNLOCK,REPORT,MKCALENDAR, SEARCH。
路径:资源的路径,如果资源需要查询参数,则在下面的“参数”部分中添加。
如果路径以“ http:// ”或“ https:// ” 开头,则将其用作完整的URL,在这种情况下,服务器,端口和协议字段将被忽略,GET和DELETE方法的参数也将被忽略。
内容编码:发送请求时使用的内容编码
自动重定向:将基础的http协议请求设置为自动重定向,JMeter将无法看到它们,只能观察到重定向后的最终结果。应用于GET和HEAD请求。不能用于POST或PUT请求。
跟随重定向:仅当未启用“ 自动重定向 ”时,此选项才有效。与自动重定向不同的是,跟随重定向Jmeter将可以观察到整个重定向过程中的所有请求,无论重定向进行了多少次。
使用KeepAlive:设置Connection:keep-alive头信息。
对POST使用multipart / form-data:使用multipart / form-data或application / x-www-form-urlencoded发送POST请求
与浏览器兼容的头:使用multipart / form-data时,设置的Content-Type和 Content-Transfer-Encoding标头将无效;仅发送Content-Disposition标头。
高级参数:
属性描述:
实现:Java,HttpClient4。如果未指定(并且未由HTTP请求默认值定义),则默认值取决于JMeter属性jmeter.httpsampler的值 ,否则,将使用HttpClient4实现
连接超时:等待连接成功的毫秒数,如果超过设置的值则断言失败
响应超时:等待获取响应的毫秒数,如果超过设置的值则断言失败
从HTML文件获取所有内含的资源:告诉JMeter解析HTML文件并获取文件中引用的所有图像,Java applet,JavaScript文件,CSS等
并行下载:使用并发连接池来获取内含的资源
数量:连接池并发数
网址必须匹配 : 必须是一个正则表达式,用于与找到的任何内部URL匹配。因此,如果只想从 Example Domain 下载资源,使用表达式: http:// example \ .com /.*
源地址类型:仅适用于具有HTTPClient实现的HTTP请求
–选择IP/主机名:使用特定的IP地址或(本地)主机名
–选择设备:选择该设备的第一个可用地址,该地址可以是IPv4或IPv6
–选择设备IPv4:选择设备名称的IPv4地址(例如eth0,lo,em0等)
–选择设备IPv6:选择设备名称的IPv6地址(例如eth0,lo,em0等)
源地址字段 仅适用于具有HTTPClient实现的HTTP请求,此属性用于启用IP欺骗。它会覆盖此示例的本地IP地址。JMeter主机必须具有多个IP地址(即IP别名,网络接口,设备)。该值可以是主机名,IP地址或网络接口设备,例如“ eth0 ”或“ lo ”或“ wlan0 ”。
如果定义了属性httpclient.localaddress,则该属性用于所有HttpClient请求。
代理服务器:若请求需要通过代理访问,在此处设置代理信息
保存响应为MD5 :如果选择此选项,则响应不会存储在样本结果中。相反,将计算并存储数据的32个字符的MD5哈希编码。