零基础学习接口测试—HTTP协议基础知识

1、URL:统一资源定位符

2、URL的组成形式:

://[:]@:/[:]?#

protocol:访问的协议,如:http、https、ftp

host:主机名,有时是ip,有时候是域名,比如:192.168.10.12、www.baidu.com。

port:端口,访问时主机的端口。http协议端口默认80,可省略。

path:通过host:port我们能找到主机,但是主机上文件很多,通过path则可以定位具体文件。例如:https://baike.baidu.com/item/软件测试/327953

params:向服务器传递参数,一般很少见

query:查询字符串,需要从服务器查询内容,在这输入。例如:www.baidu.com/s?ie=utf-8&f=8&rsv_bp=1&rsv_idx=1&tn=baidu&wd=%E8%BD%AF%E4%BB%B6%E6%B5%8B%E8%AF%95

fragment:片段,网页中可能会分为不同的片段,如果想访问网页后直接到达指定位置,可以在这部分设置

示例:

(1)新浪明星:

http://slide.ent.sina.com.cn/star/slide_4_704_336821.html#p=1

(2)百度搜索:

https://www.baidu.com/s?rtt=1&bsst=1&cl=2&tn=news&rsv_dl=ns_pc&word=%E8%BD%AF%E4%BB%B6%E6%B5%8B%E8%AF%95

3、HTTP协议:

HTTP(Hyper Text Transfer Protocol,超文本传输协议):是一个基于请求与响应模式的、无状态的、应用层的协议,用TCP方式连接,默认端口:80。

4、HTTP的工作流程:

(1)客户端与服务器建立TCP连接。

(2)客户端向服务器发出请求。

(3)服务器接收到客户端的请求,根据请求返回响应内容。

(4)客户端接收服务器的响应内容,解析内容在前端展示;然后客户端与服务器断开连接。

5、HTTP的特点:

(1)支持客户端/服务器模式。

(2)简单快速:客户向服务器请求服务时,只需传送请求方法和路径。

(3)灵活:HTTP允许传输任意类型的数据对象。

(4)不保存状态:如果后续处理需要前面的信息,则它必须重传。

      a、缺点:可能导致每次连接传送的数据量增大。

      b、优点:在服务器不需要先前信息是应答较快,减少服务器CPU和内存的消耗。

      c、引入cookie和session机制:Cookie在客户端记录信息确定用户身份,Session在服务器端记录信息确定用户身份。

(5)、无连接的:限制每次连接只处理一个请求,服务器处理完请求,并收到应答后,即断开连接。

      a、缺点:每次请求都要建立\断开TCP连接,通信量开销增大。

      b、优点:采用这种方式可以节省传输时间。

      c、后续引进持久连接(HTTP keep-alive):在一次TCP连接中可以持续发送多份数据而不会断开连接, 减少tcp连接建立次数;一般服务端会设置keep-alive timeout以及最大连接数。

keep-alive timeout:传送完后超过这个时间就关闭连接

最大连接数:到达最大连接数后,有新请求发起连接,未达到超时也会关闭前面的连接

6、HTTP的缺点:

(1)被窃取:Http通信使用明文,传输过程中没有任何的加密措施,可能会被窃听。

(2)遭遇伪装:在传输过过程中,不验证通信方的身份,这中间就有可能被遭遇伪装

(3)被篡改:Http只是对报文进行了解析,并没有对其进行完整的校验,所以无法验证报文的完整性,可能被遭篡改。

你可能感兴趣的:(零基础学习接口测试—HTTP协议基础知识)