当前位置:   article > 正文

Jmeter之HTTP请求详解_jmeter http请求

jmeter http请求

一、 HTTP request详解

    客户端发送的HTTP请求到Web服务器时,请求消息主要包含:

  • 请求行
  • 请求头
  • 请求体(请求报文/请求参数)
    在这里插入图片描述

1.1 请求行

    请求行用于说明请求类型,以及要访问的资源和使用的HTTP版本。

    请求行包含以下内容:

  • 请求方法: HEAD、GET、POST、PUT、OPTIONS、DELETE、PATCH

HTTP定义了很多于服务器交互的方法:

  • GET 请求指定的页面信息,并返回实体主体
  • POST 向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请求体中。POST请求可能会导致新的资源的建立和/或已有资源的修改。
  • PUT 向Web服务器发送数据,并存储在Web服务器内部
  • HEAD 检查一个对象是否存在
    DELETE 从Web服务器上删除一个文件
  • CONNECT 对通道提供支持
  • TRACE 跟踪到服务器的路径
  • OPTIONS 查询Web服务器的性能
  • 请求地址
  • HTTP协议/版本

1.2 请求头 headers

    请求头headers用于指定服务器要使用的附加信息
在这里插入图片描述

  • Accept:指定客户端能够接收的内容类型,如:Accept: text/plain, text/html
        类型中的先后次序表示客户端接收的先后顺序

  • Accept-Charset:浏览器可以接受的字符编码集。

  • Accept-Encoding:指定浏览器可以支持的web服务器返回内容压缩编码类型。
        ;Accept-Encoding允许Web服务器将输出内容发回客户端之前进行压缩,以节约带宽。这里设置的就是客户端浏览器所能够支持的压缩格式。
        简单来说,就是Web服务器在给客户端返回页面数据之前,将数据以gzip格式进行压缩,也节省带宽,加快传输。

说明:

  • gzip 是GNU zip的缩写,是GNU自由软件的文件压缩程序,也用来表示gzip文件格式。
  • deflate 使用LZ77算法于哈夫曼编码(Huffman Coding)的一种无损压缩算法
  • Accept-Language:浏览器可接受的语言

说明:

  • zh-cn表示简体中文
  • zh 表示中文
  • q 表示权重系数,范围0~1,q值越大请求越倾向于获取;之前的类型所表示的内容,若没有指定q值则默认为1。若q值为0则用于提醒服务器哪些是浏览器不接受的内容类型。
  • Accept-Ranges:可以请求网页实体的一个或者多个子范围字段
  • Authorization:HTTP授权的授权证书
  • Cache-Control:指定请求和响应遵循的缓存机制
  • Connection:表示是否需要持久连接。如果Web服务器接收到Connection的属性值为Keep-Alive,或者请求所使用的协议版本是HTTP 1.1(默认持久连接),此时就会采用持久连接。

用法:

  • Connection: keep-alive
    当一个Web页面打开时,客户端和Web服务器之间用于传输HTTP数据库的TCP连接不会关闭,如果客户端再次访问Web服务器上的网页,会继续使用这条已经建立的连接。
  • Connection: close
    close表示一个Requset请求完成后,客户端和Web服务器之间用于传输HTTP数据的TCP连接会关闭,当客户端再次发送Request请求时,需要重新建立TCP连接。
  • Cookie:HTTP请求发送时,会把保存在该请求域名下的所有cookie值一起发送给web服务器。
  • Content-Length:请求的内容长度,单位字节(byte),并不包含请求行和请求头的数据长度。
  • Content-Type:请求的与实体对应的MIME信息,只有在POST方法提交时才需要设置此属性。

当使用POST方式提交数据时,Content-Type属性值支持两种编码类型:
    1. application/x-www-form-urlencode
        默认缺省的编码类型,表单向Web服务器提交数据时所采用的编码类型。
        当向Web服务器发送大量文本、包含非ASCII字符的文本、二进制数据时采用这种编码方式效率很低。
    2. multipart/form-data
        文件上传时所使用的编码类型,它既可以发送文本数据,也支持二进制数据上传。
        在Content-Type属性中还可以指定提交内容的Charset字符编码

  • Date:请求发送的日期和时间
  • Expect:请求的特定的服务器行为
  • Host:指定请求的服务器的域名和端口号
  • Pragma:用来包含实现特定的指令
  • Proxy-Authorization:连接到代理的授权证书
  • Range:只请求实体的一部分,指定范围
  • Referer:先前网页的地址,当前请求网页紧随其后,即来路
  • User-Agent:User-Agent的内容包含发出请求的用户信息

二、HTTP response详解

一个http response(http响应)指的是从服务端到客户端的响应消息,它包括了以下信息:

  • 响应行
  • 响应头
  • 响应体(响应报文)
    在这里插入图片描述
    在这里插入图片描述

2.1 响应行

  • 报文协议及版本
    如:HTTP/1.1 200 OK
  • 状态码及状态描述
  • 1xx: 信息,服务器收到请求,需要请求者继续执行操作
  • 2xx: 成功,操作被成功接收并处理
        200 OK:请求成功。 服务器已成功处理了请求。一般用于GET与POST请求
        204 No Content:无内容。服务器成功处理,但未返回内容。在未更新网页的情况下,可确保浏览器继续显示当前文档。一般用在只是客户端向服务器发送信息,而服务器不用向客户端返回什么信息的情况。不会刷新页面。
        206 Partial Content:部分内容。服务器成功处理了部分GET请求。响应报文中包含Content-Range指定范围的实体内容
  • 3xx: 重定向,需要进一步的操作以完成请求
        301 Moved Permanently:永久移动。资源(网页等)被永久转移到其它URL。服务器返回此响应(对GET或HEAD请求的响应)时,会自动将请求者转到新位置。
         302 Found:临时移动。 资源只是临时被移动,请求者应继续使用原有位置来进行以后的请求。
        303 See Other:临时重定向,应使用GET定向获取请求资源。303功能与302一样,区别只是303明确客户端应该使用GET访问。
        304 Not Modified:未修改。 所请求的资源未修改,服务器返回此状态码时,不会返回任何资源。客户端通常会缓存访问过的资源,通过提供一个头信息指出客户端希望只返回在指定日期之后修改的资源。
        305 Use Proxy:使用代理。所请求的资源必须通过代理访问
        307 Temporary Redirect:临时重定向。服务器目前从不同位置的网页响应请求,但请求者应继续使用原有位置来进行以后的请求。
  • 4xx: 客户端错误,请求包含语法错误或无法完成请求
        400 Bad Request: 客户端请求的语法错误,服务器无法理解
        401 Unauthorized: 请求要求用户的身份认证,这个状态代码必须和WWW-Authenticate报头域一起使用。
        403 Forbidden: 服务器理解请求客户端的请求,但是拒绝执行此请求
        404 Not Found: 服务器无法根据客户端的请求找到资源(网页)
        415 Unsupported media type:服务器无法处理请求附带的媒体格式
  • 5xx: 服务器错误,服务器在处理请求的过程中发生了错误
        500 Internal Server Error: 服务器内部错误,无法完成请求
        502 Bad Gateway: 网关错误。充当网关或代理的服务器,从远端服务器接收到了一个无效的请求
         503 Server Unavailable:由于超载或系统维护,服务器暂时的无法处理客户端的请求。延时的长度可包含在服务器的Retry-After头信息中

     505 HTTP Version not supported: 服务器不支持请求的HTTP协议的版本,无法完成处理

HTTP状态码大全

2.2 响应头

  • Accept-Ranges:表明服务器是否支持指定范围请求及哪种类型的分段请求
  • Age:从原始服务器到代理缓存形成的估算时间(以秒计,非负)
  • Allow:对某网络资源的有效的请求行为,不允许则返回405
  • Cache-Control:告诉所有的缓存机制是否可以缓存及哪种类型,常见的取值有常见的取值有private、public、no-cache、max-age,no-store,默认为private。
  • Content-Encoding:web服务器支持的返回内容压缩编码类型
  • Content-Language:响应体的语言
  • Content-Length:响应体的长度
  • Content-Location:请求资源可替代的备用的另一地址
  • Content-Range:在整个返回体中本部分的字节位置
  • Content-Type:返回内容的MIME类型
  • Date:原始服务器消息发出的时间
  • Expires:响应过期的日期和时间
  • Location:用来重定向接收方到非请求URL的位置来完成请求或标识新的资源,需要与状态码302配合使用,完成跳转。
  • Pragma:包括实现特定的指令,它可应用到响应链上的任何接收方
  • Proxy-Authenticate:它指出认证方案和可应用到代理的该URL上的参数
  • Server:web服务器软件名称
  • Set-Cookie:设置Http Cookie
  • Transfer-Encoding:文件传输编码
  • Vary:告诉下游代理是使用缓存响应还是从原始服务器请求
  • Via:告知代理客户端响应是通过哪里发送的
  • WWW-Authenticate:表明客户端请求实体应该使用的授权方案

2.3 响应体

    响应体是服务器回写给客户端的页面正文,浏览器将正文加载到内存,然后解析渲染 显示页面内容

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Gausst松鼠会/article/detail/63754
推荐阅读
相关标签
  

闽ICP备14008679号