Skip to content

介绍

HTTP/2.x是相对于HTTP/1.x的更新,最初命名为HTTP 2.0。由于HTTP/1.x已经相对完善,2.0的更新更多是对性能的进一步优化和对HTTP/1.x存在的问题的进一步解决,旨在提高Web性能,减少延迟,并提高安全性,主要基于 SPDY 协议。
HTTP/2的安全性主要体现在它对传输层安全协议(TLS/1.2或更高版本)的支持。HTTP/2默认使用TLS来加密客户端和服务器之间的通信,这意味着在数据传输过程中,所有的请求和响应都会被加密,从而保护了数据的隐私性和完整性。
尽管TLS增加了额外的加密和解密开销,但HTTP/2的多路复用和其他优化技术有助于抵消这部分性能损失,甚至在某些情况下较于早期版本提高了性能。

二进制协议

HTTP/2使用二进制格式而不是文本格式,这使得协议的解析更加高效和快速。尤其是在传输过程中,对于大量数据传输时这样的优化更为明显。

多路复用

HTTP/2支持多路复用,允许客户端在同一个连接上同时发送多个请求和接收多个响应,从而提高了连接的利用率。

头部压缩

HTTP/2使用HPACK算法来压缩头部信息,减少传输的数据量,尤其是在多次请求同一服务器时。而HTTP/1.1 一样只能一个一个地处理。相比较下来,这样可以减少延迟,提高效率,提高网络吞吐量。

流优先级

网站页面由数十个(有时候是数百个)独立的资源组成,浏览器将这些资源加载并组装到最终显示的内容中。这包括用户与之交互的可见内容(HTML、CSS、图像)以及站点本身的应用程序逻辑(JavaScript)、广告、跟踪站点使用情况的分析和市场跟踪指向标。加载这些资源的顺序对用户查看内容和与页面交互所需的时间有很大影响。
客户端可以为不同的请求指定优先级,使得重要的请求可以优先处理,提高了用户体验。要使用HTTP/2流依赖和优先级,通常情况,我们什么都不需要做。浏览器和HTTP服务器已经帮我们处理好了具体的细节。
image

服务器推送

服务器可以在客户端请求某个资源时,主动推送相关的其他资源,减少客户端的请求次数。
服务器推送(server push)是 HTTP/2 协议里面,唯一一个需要开发者自己配置的功能。其他功能都是服务器和浏览器自动实现,不需要开发者关心。**

安全性增强

HTTP/2默认使用TLS/1.2或更高版本加密,提高了数据传输的安全性。因为TLS1.0已经被认为是不安全的。

减少延迟

通过减少连接建立的时间、提高连接的利用率、减少头部的大小和压缩等方式,HTTP/2显著减少了延迟。

改进的缓存机制

HTTP/2改进了缓存机制,使得服务器可以更有效地缓存资源,减少不必要的数据传输。

支持新的HTTP方法

虽然HTTP/2没有引入新的HTTP方法,但它为支持新的方法提供了更好的基础。
HTTP/2通过一系列的改进,旨在提高Web性能,减少延迟,并提高安全性,使其成为现代Web开发中推荐使用的协议。

兼容性

兼容 HTTP/1.1:HTTP/2 可以与 HTTP/1.1 共存,服务器可以同时支持 HTTP/1.1 和 HTTP/2。如果客户端不支持 HTTP/2,服务器可以回退到 HTTP/1.1。

仅用于培训和测试,通过使用本站代码内容随之而来的风险与本站无关。版权所有,未经授权请勿转载,保留一切权利。
ICP备案号:滇ICP备15009214号-13   公安网备:滇公网安备 53312302000061号