jmeter 协议到脚本编写

1.HTTP 类型的脚本:

  http 协议在我们工作中很常用,也是面试的重点之一,所以本手册也 会相对详细的讲解下;

1.1http 协议的简介:

  HTTP 协议是 Hyper Text Transfer Protocol(超文本传输协议)的 缩写,是用于从万维网服务器传输超文本到本地浏览器的传送协议。 HTTP 是一个基于 TCP/IP 通信协议来传递数据(HTML 文件, 图片文 件, 查询结果等)。 HTTP 是一个属于应用层的面向对象的协 议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于 1990 年提出,经过几年的使用与发展,得到不断地完善和扩展。目前 在 WWW 中使用的是 HTTP/1.0 的第六版,目前已经普遍使用 HTTP1.1. 上面的解释是一般性的 http 介绍.

1.2Http 请求过程:

  网址中输入域名,首先会经过 DNS 的域名解析拿到具体的 ip 地址。 随后客户端和服务端开始通过三次握手来开始建立连接,连接建立 成功之后,客户端将包装好的 http 请求传输到服务端,服务端处理 后再将数据返回给客户端。当客户端或者服务端不再有数据需要发 送给对方的时候,就会开始发起四次回收以断开连接。

1.3Http 请求过程细节:

  DNS 解析:

      a.首先会搜索浏览器自身的 DNS 缓存(缓存时间比较短,大 概只有 1 分钟,且只能容纳 1000 条缓存)

      b.如果浏览器自身的缓存里面没有找到,那么浏览器会搜索 系统自身的 DNS 缓存

      c.如果还没有找到,那么尝试从 hosts 文件里面去找

      d.在前面三个过程都没获取到的情况下,就递归地去域名服 务器去查找

  TCP 连接建立(三次握手):

            拿到域名对应的 IP 地址之后,User-Agent(一般指浏览器) 会以一个随机端口(1024<端口<65535)向服务器的 WEB 程序 (常用的有 httpd,nginx)等            的 80 端口。这个连接请求(原 始的 http 请求经过 TCP/IP4 层模型的层层封包)到达服务器 端后(这中间有各种路由设备,局域网内除外),进入到网             卡,然后是进入到内核的 TCP/IP 协议栈(用于识别连接请 求,解封包,一层一层的剥开),还有可能要经过防火墙的过 滤,最终达到 WEB 程序,最终建            立了 TCP/IP 的连接

  发起 HTTP 请求:HTTP 请求报文由三部分组成:请求行,请求头、空格、请求

      请求行:用于描述客户端的请求方式(GET/POST 等),请求 的资源名称(URL)以及使用的 HTTP 协议的版本号

      请求头:用于描述客户端请求哪台主机及其端口,以及客户 端的一些环境信息等

      空行:空行就是 (POST 请求时候有)

      请求正文:当使用 POST 等方法时,通常需要客户端向服务器 传递数据。这些数据就储存在请求正文中(GET 方式是保存在 url 地址后面,不会放到这里)

  post和get区别:请求包含三个部分:请求行、请求头、空格、消息体,比之 前的 GET 请求多了一个请求消息,其中 请求头和消息体之 间用一个空行分割。POST 请求的参数不          在 URL中,而是在 消息体中,请求头中多了一项 Content-Length 用于表示消 息体的字节数,这样服务器才能知道请求是否发送结束。这 也就是 GET 请求和            POST 请求的主要区别

  那么起始行中的请求方法有哪些种呢?

    GET: 完整请求一个资源 (常用)

    HEAD: 仅请求响应首部

    POST:提交表单 (常用)

    PUT: 上传文件(但是浏览器不支持该方法)

    DELETE:删除

    OPTIONS:返回请求的资源所支持的方法的方法

    TRACE: 追求一个资源请求中间所经过的代理(该方法不能 由浏览器发出)

  服务器响应 http 请求,浏览器得到 html 代码:

    HTTP 响应也由三部分组成:状态行,响应头,空格,消息体 状态行包括:协议版本、状态码、状态码描述

      状态码:状态码用于表示服务器对请求的处理结果

        1xx:指示信息——表示请求已经接受,继续处理

        2xx:成功——表示请求已经被成功接收、理解、接受。

        3xx:重定向——要完成请求必须进行更进一步的操作

        4xx:客户端错误——请求有语法错误或请求无法实现

        5xx:服务器端错误——服务器未能实现合法的请求。

  服务器关闭 TCP 连接:

    一般情况下,一旦 Web 服务器向浏览器发送了请求数据它 就要关闭 TCP 连接,然后如果浏览器或者服务器在其头信息 加入了这行代码: Connection:keep-alive,TCP       连接在发送后将仍然保持打开状态,于是,浏览器可以继续通过相同的连接发送请求。保持连接节省了为每个请求建立新连接所需的时间,还节约了网络带宽。

1.4http 脚本编写:

  添加线程组:

    

   添加 http 信息头:

    

   添加 http sampler:

    

   填写 HTTP Sampler 中的信息:

    

   添加监听器:

    

   线程组参数中填写模拟线程数:

    

   运行脚本:

    

   查看运行:

    

   

      

原文地址:https://www.cnblogs.com/anhao-world/p/13445175.html