零基础学习接口测试—HTTP协议基础知识
1、URL:统一资源定位符
2、URL的组成形式:
<protocol>://[<user>:<password>]@<host>:<port>/<path>[:<params>]?<query>#<fragment>
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)百度搜索:
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只是对报文进行了解析,并没有对其进行完整的校验,所以无法验证报文的完整性,可能被遭篡改。
* 注:本文来自网络投稿,不代表本站立场,如若侵犯版权,请及时知会删除