大家在做测试时应该大部分会都是使用到一些抓包工具来进行网页数据的抓取,然后进行分析。最近这一周我在使用python的requests模块在做一些简单的接口自动化测试,然后补了下关于http协议相关的知识,在这里和大家分享一下,有错误的地方还请多多指教。
http(超文本传输协议)是一个基于请求与响应模式的、无状态的、应用层的协议。说的比较深澳,我也不太懂。那如果给你一个url,你会看吗,该怎么去解析呢?
1、协议类型(http/https):像大家看到的http和https就是两种不同的类型,https简单地说时http的升级版,安全性会相对更高一些。
2、主机地址或域名(host): 这个一般分为三种:
(1)192.168.xxxx.8080 地址+端口号
(2)www.xxxx.com 域名
(3)localhost:8080 本地地址
3、端口号(port):一般端口号80的话可默认不填写
4、请求路径(path):请求的路径(host后,?之前),就类似与你把文件放在电脑放在某盘里的位置。
5、?:分隔符
6、参数:请求的参数信息,一般以“key=value”形式出现。
7、&: 我个人理解是“与”的关系,如果一个url中出现多个参数,通过&来进行连接。
下面我来就上面的url来做个解析:
协议类型:https
主机地址和域名:www.baidu.com/s
端口号:这个url中并没有写出,说明默认是80,大家可以抓包看一下呢。
请求路径:s
分隔符:?
参数:这个URL中有多个参数如wd=requests、rsv_spt=1&rsv_iqid=0x93ca60b500024042、issp=1、rsv_bp=1等,各参数通过&来连接。
相信大家现在知道url是怎么组成了的吧,是不是很简单,今天就写到这里,明天继续分享其他的知识(ps双休不易,我要出去玩耍玩耍了,大家也要注意劳逸结合啊)。