HTTP 和 HTTPS 之间除了安全性区别外,还有哪些区别( 二 )


HTTP 2 VS HTTP 1.1HTTP 2 比起 HTTP 1.1 的性能提升就比较多了,主要有以下几点 。
二进制分帧HTTP 2 使用二进制分?。?可以减少数据的大小和格式的复杂度,提高数据的传输效率 。
它主要修改了 HTTP 1.1 的报文传输格式 。HTTP 1.1 以换行符作为纯文本的分隔符,而 HTTP 2 将所有传输的信息分割为更小的消息和?。?并采用二进制格式对它们编码,这些帧对应着特定数据流中的消息,他们都在一个 TCP 连接内复用 。
多路复用HTTP 2 支持多路复用,可以在一个连接上并发传输多个请求和响应,避免了队头阻塞和重复建立连接的开销 。
HTTP 2 可以在共享 TCP 连接的基础上同时发送请求和响应 。HTTP 消息可以被分解为独立的?。??黄苹迪?⒈旧硭承虻那榭鱿陆淮矸⒊鋈ィ?在另一端根据流标识符和首部将他们重新组装起来 。通过多路复用技术,可以避免 HTTP 旧版本的消息头阻塞问题,极大提高传输性能 。
首部压缩HTTP 2 支持首部压缩,可以减少数据的传输量,节省了网络的带宽 。
HTTP 2 使用了 HPACK 算法来压缩头字段 , 这种压缩格式对传输的头字段进行编码,减少了头字段的大小 。同时,在两端维护了索引表,用于记录出现过的头字段,后面在传输过程中就可以传输已经记录过的头字段的索引号,对端收到数据后就可以通过索引号找到对应的值 。对比 HTTP 1.1 使用文本的形式传输消息头,HTTP 2 的首部压缩可以减少请求资源大小 。
HTTP 2 缺点说了这么多 HTTP 2 的优点,那 HTTP 2 的缺点我们也需要清楚 。

  • HTTP 2 建立连接的延时:HTTP 2 仍然基于 TCP 协议,因此需要进行 TCP 的三次握手和 TLS 的握手,这会消耗一定的时间,影响数据的传输效率 。
  • HTTP 2 队头阻塞没有彻底解决:HTTP 2 虽然支持多路复用,可以在一个连接上并发传输多个请求和响应,但是如果其中一个数据流发生了丢包或延迟 , 那么整个 TCP 连接都会受到影响,导致后续的数据流也被阻塞 。
  • HTTP 2 多路复用容易超时:HTTP 2 的多路复用技术使得多个请求其实是基于同一个 TCP 连接的,那么如果某一个请求的处理时间过长,那么多个请求都可能超过客户端的超时时间,导致请求失败 。
HTTP 3 VS HTTP 2HTTP 3 相比 HTTP 2 的提升可以说是全方位的 , 底层的传输协议由 TCP 协议改为使用基于 UDP 协议的 QUIC 协议,在应用层实现了拥塞控制、可靠传输的特性 。
优点HTTP 3 的优点主要体现在它使用了 QUIC 协议,可以减少握手的延迟,提高连接的稳定性,支持更高效的多路复用,以及更好的适应网络变化等
缺点HTTP 3 的缺点主要体现在它仍然存在一些兼容性和稳定性的问题,有时候甚至会比 HTTP 2 稍微慢一点 。这可能是由于拥塞控制算法的不同,或者是由于网络设备和防火墙对 UDP 的限制或过滤所导致的 。
大家可以看到不同 HTTP 版本之间的性能差异是很大的 。HTTP 2 和 HTTP 3 都是默认建立在 HTTPS 之上的 。所以如果想要更高的 HTTP 协议传输性能的话,可以使用 HTTP 2 或者 HTTP 3 协议 。
使用成本HTTP 的使用成本比起 HTTPS 而言就低的多了,主要是因为 HTTPS 协议需要申请和维护数字证书 , 这通常需要一定的费用,而且证书的有效期有限 , 需要定期更新
在业务开发中一个阿里云 HTTPS CA 的企业级证书一年的价格通常需要几千人名币.
另外,HTTPS 也需要消耗一丢丢的服务器资源,因为 TLS 层的加密和解密过程也需要 CPU 参与计算 。
与之相比,HTTP 不需要申请和维护数字证书,也不需要更多的服务器资源,所以说 HTTP 协议的使用成本更低 。
搜索排名HTTPS 协议的搜索排名优于 HTTP 协议,主要是因为 HTTPS 协议可以提高用户的信任度和安全感 , 从而提高用户的访问量和停留时间,这些都是搜索引擎优化(seo)的重要因素 。
另外,一些主流的搜索引擎,如 google 和百度 , 也明确表示,HTTPS 协议是搜索排名的一个重要权重指标,也就是说 , HTTPS 网站比 HTTP 网站在搜索排名中更有优势 。


推荐阅读