jmeter学习笔记一(http基础知识)

HTTP请求由请求行、请求头和请求正文组成,包括方法、URI、协议版本、Content-Type、User-Agent等重要头部。JMeter在处理编码问题时,可以通过设置内容编码、请求头charset或参数编码来避免乱码。HTTP代理服务器配置在JMeter中用于抓包,需注意过滤无用请求并处理HTTPS证书。
摘要由CSDN通过智能技术生成

HTTP请求:客户端同通过发送http请求向服务器请求资源的访问。http请求由三部分组成:请求行、请求头、请求正文

​ 请求行包括:请求方法 URI 协议/版本

​ 请求头:Content-type、Cookie、Authorization、User-Agent、Accept、Accept-Encoding

​ 请求空行 标志着请求头结束,请求正文(请求体)的

​ 请求体:参数:表单;消息体数据:json、xml

举例:

POST /index.html HTTP/1.1   请求方法 url 协议/版本号
Host: localhost  主机地址
User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:10.0.2) Gecko/20100101 Firefox/10.0.2
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: zh-cn,zh;q=0.5
Accept-Encoding: gzip, deflate
Connection: keep-alive
Referer: <a target=_blank href="http://localhost/" style="color: rgb(51, 102, 153); text-decoration: none;">http://localhost/</a>
Content-Length:25
Content-Type:application/x-www-form-urlencoded
请求空行 标志着请求头结束,请求正文(请求体)的开始
username=aa&password=1234

注意

​ 1,jmeter内容编码处理出现乱码的方法:

​ 方法1,内容编码:utf8

​ 方法2,请求头:charset=utf-8

​ 方法3,请求体为”参数“类型,需要勾选参数”编码“

响应内容出现乱码处理方法:

​ 1,需要修改jmeter.properties中的sampler.result.encoding,如utf8、gbk、gb2312、big5等,具体需要根据操作系统调整适配。因为jmeter的编码是根据操作系统编码。在国内,中文的windows系统的字符集编码是gbk 936,mac系统中文字符集编码是utf8.

​ 2,当请求体为json时,请求头一定要有Content-Type:application/json

​ 3,Connection: keep-alive 持久连接

​ 当一个网页打开完成后,客户端和服务器之间用于传输http数据的tcp连接不会关闭,如果客户端再次访问这个服务器上的网页,会继续使用这一个已经建立的连接。

​ Connection: close

​ 代表一个Request完成后,客户端和服务器之间用于传输http数据的tcp连接会关闭,当客户端再次发送请求,需要重新建立tcp连接。

​ 4,Accept: text/html,application/xhtml+xml,application/xml;q=0.9,/;q=0.8 浏览器可以接受的媒体类型

​ Accept: text/html 代表浏览器可以接受服务器回发的类型为 text/html 也就是我们常说的html文档, 如果服务器无法返回text/html类型的数据,服务器应该返回一个406错误(non acceptable)。

通配符 * 代表任意类型。例如 Accept: / 代表浏览器可以处理所有类型,(一般浏览器发给服务器都是发这个)

​ 5,Accept-Encoding: gzip,deflate 浏览器接收的编码方法

​ Accept-Encoding: gzip,deflate。server能够向支持gzip/deflate的浏览器返回gzip或者deflate编码的html页面。许多情况下,可以减少5-10倍的下载时间,也节省带宽。

​ 6,Accept-Language: zh-cn,zh;q=0.5 浏览器申明自己接收的语言

​ 语言跟字符集的区别:中文是语言,中文有多种字符集,比如big5,gb2312,gbk等等;

​ 7,User-Agent:告知http服务器,客户端使用的操作系统和浏览器的名称和版本

​ 我们上网登陆论坛的时候,往往会看到一些欢迎信息,其中列出了你的操作系统的名称和版本,你所使用的浏览器的名称和版本,这往往让很多人感到很神奇,实际上, 服务器应用程序就是从User-Agent这个请求报头域中获取到这些信息User-Agent请求报头域允许客户端将它的操作系统、浏览器和其它属性告诉服务器。

​ 8,Content-Type:消息体格式

​ 9,Referer: http://localhost/

​ 提供了Request的上下文信息的服务器,告诉服务器是从哪个链接过来的,比如从主页上链接到一个朋友那里, 服务器就能够从HTTP Referer中统计出每天有多少用户点击我主页上的链接访问 他的网站。

jmeter的http代理

添加:测试计划 > 非测试元件 > http代理服务器
1, ip就是你自己电脑的ip,端口默认8888,port可以修改。
2,目标控制器,一定要修改 修改为 测试计划>线程组, Requests Filtering添加过滤器,在排除模式中点击添加再复制该段信息.*\.(js|css|png|jpg|ico|png|gif).*这样能过滤掉一些无用的加载文件
3,启动代理服务器时,会出现一个证书的弹窗, 如果要抓取https信息时,就必须使用证书
4,本地浏览器使用 代理服务器上网即可实现jmeter抓包

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值