HTTP vs HTTPS
-
HTTP (HyperText Transfer Protocol):
- 是一个无状态的协议,不对请求和响应之间的通信状态进行管理。
- 数据传输是明文的,容易被窃听和篡改。
- 使用端口80。
-
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
-
HTTP/1.0:
- 默认使用短连接,每次请求建立一个新的TCP连接。
- 每个请求/响应完成后,TCP连接会关闭,存在较多的"握手"和"挥手"的开销。
- 不支持持久连接,每次请求都需要重新建立连接。
-
HTTP/1.1:
- 默认使用长连接,多个请求可以复用同一个TCP连接。
- 支持持久连接,避免了重复建立连接的开销。
- 引入了管道机制,允许多个请求同时在一个连接中传输,提高了效率。
- 引入了一些优化,如分块传输编码、Host字段等。
HTTP/1.1相对于HTTP/1.0在性能和效率上有了明显的改进,是目前广泛使用的HTTP版本。