HTTP/1
-
可靠传输,HTTP 基于 TCP/IP。
-
无状态,这里的状态是指通信过程的上下文信息,而每次 http 请求都是独立、无关的,默认不需要保留状态信息。这可以说是它的优点又是缺点。因为不需要保存连接上下文信息,无状态反而减少了网络开销,从这点看是优点。但是在需要长连接的场景中,需要保存大量的上下文信息,以免传输大量重复的信息,那么这时候无状态就是 http 的缺点。
-
明文传输,即协议里的报文(主要指的是头部)不使用二进制数据,而是文本形式。
-
队头阻塞问题,当 http 开启长连接时,共用一个 TCP 连接,同一时刻只能处理一个请求,那么当前请求耗时过长的情况下,其它的请求只能处于阻塞状态。
HTTP/2
- 头部压缩(HPACK算法,两端建立hash表)
- 多路复用(为解决HTTP 队头阻塞问题)
- 二进制分帧
HTTPS
HTTPS 是在 HTTP 的基础上加了一层数据加密(数字证书结合对称加密和非对称加密)