HTTP vs HTTPS

76 阅读2分钟

HTTP vs HTTPS

  1. HTTP (HyperText Transfer Protocol):

    • 是一个无状态的协议,不对请求和响应之间的通信状态进行管理。
    • 数据传输是明文的,容易被窃听和篡改。
    • 使用端口80。
  2. HTTPS (HyperText Transfer Protocol Secure):

    • 是HTTP的安全版本,通过SSL/TLS进行加密。
    • 使用了非对称加密和对称加密,保证了通信的安全性和隐私。
    • 使用端口443。
    • 在URL前面有 "https://"。

HTTP 协议通信过程

你描述的HTTP协议通信过程是正确的,涉及到客户端与服务器之间的TCP连接建立、HTTP消息的交互以及连接的关闭。

SSL/TLS

SSL(Secure Sockets Layer)和TLS(Transport Layer Security)是用于保障通信安全的协议。TLS是SSL的继任者,目前更常用。

非对称加密用于建立安全通信的密钥,而对称加密用于实际数据的传输。SSL/TLS使用了混合加密机制,既能保证通信的安全性,又能提高加密效率。

HTTP 1.0 vs HTTP 1.1

  1. HTTP/1.0:

    • 默认使用短连接,每次请求建立一个新的TCP连接。
    • 每个请求/响应完成后,TCP连接会关闭,存在较多的"握手"和"挥手"的开销。
    • 不支持持久连接,每次请求都需要重新建立连接。
  2. HTTP/1.1:

    • 默认使用长连接,多个请求可以复用同一个TCP连接。
    • 支持持久连接,避免了重复建立连接的开销。
    • 引入了管道机制,允许多个请求同时在一个连接中传输,提高了效率。
    • 引入了一些优化,如分块传输编码、Host字段等。

HTTP/1.1相对于HTTP/1.0在性能和效率上有了明显的改进,是目前广泛使用的HTTP版本。