HTTP请求——接口自动化持续集成

596 篇文章 18 订阅
405 篇文章 4 订阅

在这里插入图片描述

HTTP请求

HTTP请求包含4个部分,分别是统一资源定位符、方法(Method)、头(Headers)和体(Body)。

01 统一资源定位符

统一资源定位符(Uniform Resource Locator,URL)是用于完整地描述互联网上网页和其他资源地址的一种标识方法。

URL给资源的位置提供一种抽象的表示方法,并用这种方法给资源定位。只要能够对资源定位,用户就可以对资源进行各种操作,如存取、更新、替换和查看属性等。

这里的“资源”是指在互联网上可以被访问的任何对象,包括目录、文件、图像、声音等,URL相当于文件名在网络范围的扩展。

由于访问不同资源所使用的协议不同,所以URL还给出了访问某个资源时所使用的协议。URL的一般形式为“<协议>://<主机>:<端口>/<路径>/<文件名>”。

其中,“<协议>”指出获取该互联网资源所使用的协议,HTTP请求使用的是HTTP,除此之外,还有文件传输协议(File Transfer Protocol,FTP);在“<协议>”后面必须写上“😕/”,不能省略。

“<主机>”指出万维网文档是在哪一个主机上,可以给出域名,也可以给出IP地址;“<端口>”为服务器监听的端口,HTTP默认为80端口,FTP默认为21端口。

“<路径>”和“<文件名>”进一步给出资源在服务器上的位置,但是它们的名称是虚拟的,和服务器上的物理名称可能不同。

对于动态网页,用户通常还需要给服务器提供访问动态网页的参数。

因此,URL后面还可以跟上一个英文问号,问号的后面以“参数名称=参数值”的形式给出多组参数,每组之间用符号“&”分隔,称之为查询串(Query String)。

具体形式为“<协议>://<主机>:<端口>/<路径>/<文件名> <参数1>=<值1>&<参数2>=<值2>”,如https://www.baidu.com/s ×××××=top1000&wd=postman&rsv_idx=2(虚拟地址)。

打开百度浏览器,在搜索框中输入“Postman”,搜索后的界面如图所示。此界面地址栏中的内容与上述虚拟地址相似。

在这里插入图片描述

02 Method

HTTP定义了与服务器交互的不同方法(Method),基本方法有4种,分别是GET、POST、PUT和DELETE。

可以这样理解:URL地址用于描述一个网络上的资源,而HTTP中的GET、POST、PUT和DELETE方法对应着这个资源的“查改增删”操作,即GET一般用于获取、查询资源信息,而POST一般用于更新资源信息等。

除了上面介绍的4种方法,HTTP请求还包含PATCH、COPY、HEAD、OPTIONS、LINK、UNLINK、PURGE、LOCK、UNLOCK、PROPFIND、VIEW等方法,至于这些方法的具体含义,读者可自行查阅相关资料,因为在进行接口测试的时候,遇到这些接口方法的概率非常小,而且即便遇到了,也可以借助Postman工具构造出相应请求。

关于HTTP请求,GET方式和POST方式有什么区别呢?这一点在面试中也经常会遇到,具体如下。

提交数据的方式不同

① GET。请求的数据会附在URL之后(即把数据放置在HTTP协议头<request-line>中),以“?”(英文问号)分隔URL和传输数据,多个参数用“&”连接,如login.action name=hyddd&password=idontknow&verify=%E4%BD%A0 %E5%A5%BD(某个URL的其中一部分)。

如果数据是英文字母、数字,则直接发送;如果是空格,则转换为“+”后发送;如果是中文、其他字符,则会用Base64加密字符串,得出“%E4%BD%A0%E5%A5%BD”后发送。

② POST。把提交的数据放置在HTTP包的请求体<request-body>中。

因此,使用GET方式提交的数据会在地址栏中显示出来,而使用POST方式提交的数据不会在地址栏中显示。

传输数据的大小不同

虽然HTTP没有对传输的数据大小进行限制,HTTP规范也没有对URL的长度进行限制,但是在实际开发中还会存在一些限制。

① GET。特定浏览器和服务器对URL的长度有限制,如IE对URL长度的限制是2083Byte。其他浏览器,如FireFox,其限制取决于操作系统。因此,使用GET方式提交时,传输的数据就会受到URL长度的限制。

② POST。此方式由于不是通过URL传值,理论上数据不受限制。但实际上,各个Web服务器会规定对使用POST方式提交的数据大小进行限制,Apache、IIS6.0都有各自的配置。

安全性不同

POST方式比GET方式的安全性更高。例如,通过GET方式提交数据,用户名和密码将以明文的形式出现在URL上,由于登录页面有可能被浏览器缓存,因此,其他人通过查看浏览器的历史记录,就可能知道你的账号和密码。

03 Headers和Body

HTTP报文是面向文本的,报文中的每一个字段都是ASCII码串,各个字段的长度是不确定的。HTTP请求报文由请求行、头、空行和请求数据4个部分组成,请求报文的一般格式如下。

<request-line>
<headers>
<blank line>
[<request-body>]

下面是配套资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!
在这里插入图片描述

最后: 可以在公众号:伤心的辣条 ! 免费领取一份216页软件测试工程师面试宝典文档资料。以及相对应的视频学习教程免费分享!,其中包括了有基础知识、Linux必备、Shell、互联网程序原理、Mysql数据库、抓包工具专题、接口测试工具、测试进阶-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试、安全测试等。

学习不要孤军奋战,最好是能抱团取暖,相互成就一起成长,群众效应的效果是非常强大的,大家一起学习,一起打卡,会更有学习动力,也更能坚持下去。你可以加入我们的测试技术交流扣扣群:914172719(里面有各种软件测试资源和技术讨论)

喜欢软件测试的小伙伴们,如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一键三连哦!


好文推荐

转行面试,跳槽面试,软件测试人员都必须知道的这几种面试技巧!

面试经:一线城市搬砖!又面软件测试岗,5000就知足了…

面试官:工作三年,还来面初级测试?恐怕你的软件测试工程师的头衔要加双引号…

什么样的人适合从事软件测试工作?

那个准点下班的人,比我先升职了…

测试岗反复跳槽,跳着跳着就跳没了…

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值