• 零基础学习接口测试—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)百度搜索:

    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只是对报文进行了解析,并没有对其进行完整的校验,所以无法验证报文的完整性,可能被遭篡改。

  • 相关阅读:
    Leetcode中级算法-二分查找01
    二叉查找树01(c++代码实现)
    Leetcode中级算法-动态规划03(最长上升子序列)
    Leetcode中级算法-动态规划02
    Leetcode中级算法-动态规划01
    Leetcode中级算法-全排列
    使用git获取Linux内核
    Kali 使用proxychains接管全局代理
    kali2020.1安装问题解决【选择并安装软件】
    unzip最常用使用方法
  • 原文地址:https://www.cnblogs.com/yanchufei/p/12698186.html
Copyright © 2020-2023  润新知