当前位置: 首页 > news >正文

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

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抓包

http://www.lryc.cn/news/27129.html

相关文章:

  • 【Java】CompletableFuture 并发顺序调度
  • 职场人必备的6款实用办公app,每一款都是心头爱
  • 小丑改造计划之复习一
  • final修饰符使用中遇到的一些问题
  • 好记又实用的获取电脑型号方法
  • @Transactional配置详解
  • 性能测试面试题汇总
  • vue权限控制和动态路由
  • 利用正则表达式删掉代码中的所有注释-pycharm为例
  • 【java基础】内部类、局部内部类、匿名内部类、静态内部类
  • react renderProps学习记录
  • 关于tf.gather函数batch_dims参数用法的理解
  • 日常操作linux常用命令
  • 【Java集合框架】篇二:Collection接口方法
  • PHP入门指南:简单易学的语法和丰富的调试工具与安全性最佳实践
  • 前端面试题--HTML篇
  • SpringBoot集成ElasticSearch,实现模糊查询,批量CRUD,排序,分页,高亮
  • 常用Swagger注解汇总
  • 关于 TypeScript 声明文件
  • SpringBoot学习-原理篇
  • 目标检测YOLOv5数据集怎么找?
  • 安卓短信自动填充踩坑
  • 【抽象类和接口的区别】
  • 接口导出文件功能
  • 深圳大学计软《面向对象的程序设计》实验9 期中复习
  • python之异步编程
  • 为什么很多计算机专业大学生毕业后还会参加培训?
  • JUC并发编程之JMM_synchronized_volatile
  • hashCode 和 equals 的处理
  • 17. OPenGL实现旋转移动物体