HTTP 和 HTTPS 协议

Author Avatar
饶英俊(Royin) 10月 26, 2021

HTTP 和 HTTPS 协议

  • 协议的来源

    计算机相互之间需要进行网络通信需要一种协议,进而产生了 HTTP、HTTPS 协议

    • HTTP 是什么

      HTTP 译为 超文本传输协议 ,英文是 Hyper Text Transfer Protocol,指定了客户端与服务器进行超文本(文本,视频,图片等)传输的协议

  • HTTP 的原理

    基于 TCP 协议传输数据

  • HTTP 的特点

    • 请求/响应模式
    • 灵活。不限制传输数据的类型
    • 无连接。每次连接只能处理一个请求
    • 无状态。处理事务没有记忆功能,每次数据都需要重新传递
  • HTTP 报文组成

    • 请求报文(图片来源于网络)
      HTTP 请求报文

    • 响应报文(图片来源于网络)
      HTTP 响应报文

  • HTTP 的弊端

    由于数据明文传输,可能会出现以下问题:

    • 被窃听的风险。第三方可以截获并查看你的内容

    • 被篡改的危险。第三方可以截获并修改你的内容

    • 被冒充的风险。第三方可以伪装成通信方与你通信

  • HTTPS 是什么

    为了解决 HTTP 的弊端,进而出现了 HTTPS 。可以把 HTTPS 简单理解为 HTTP + SSL/TLS,通过 SSL/TLS 证书来验证服务器身份,并为客户端和服务器之间的通信提供加密

    SSL(Secure Socket Layer,安全套接字层)和 TLS(Transport Layer
    Secure,传输层安全)。SSL 由 Netscape 研发,后基于 SSL 建立了 TLS。SSL/TLS 在网络数据传输时起到保护隐私和数据的完整性

  • HTTPS 的通信过程

    下图描述了 HTTPS 建立通信的过程(图片来源于网络):
    HTTPS 通信

    一、客户端请求建立 HTTPS 连接

    二、服务器向客户端发送包含服务器公钥的证书

    三、客户端检查证书或者 CA(Certificate Authority,证书颁发机构)的颁发者是否受信任。否则,询问用户接受是否接受该证书

    四、浏览器生成对称密钥,该密钥将使用服务器的公钥进行加密,以便安全地发送给服务器

    五、服务器使用自己的私钥解密出对称密钥

    六、服务器使用对称密钥加密与客户端之间的通信,而客户端则使用该对称密钥解密该通信

  • HTTPS 的弊端

    • HTTPS 协议多次握手,导致页面的加载时间延长
    • 证书需要付费,功能越强大的证书费用越高
    • 安全算法会消耗 CPU 资源,对服务器资源占用比较高
    • HTTPS 连接缓存不如 HTTP 高效,建立通信导致了耗时延长

该博客版权归饶英俊(Royin)所有,严禁抄袭,欢迎转载。如有反馈或建议等可通过邮箱联系我
本文链接:https://raoyingjun.github.io/2021/10/26/http%E5%92%8Chttps%E5%8D%8F%E8%AE%AE/