HTTP2 学习笔记

简介

HTTP/2 是第二个主要的版本 HTTP 协议,是 HTTP/1.1 的替代品。与 HTTP/1.1 相比,HTTP/2 引入了许多新功能和改进,例如服务器推送、多路复用和头部压缩等。

实例

多路复用

在 HTTP/1.1 中,浏览器只能在单个连接上发送一个请求。这意味着浏览器必须创建多个连接才能同时下载页面中的所有文件(例如 HTML、CSS、JavaScript 和图片等),这会导致稍微复杂一些的网页加载时间过长。

HTTP/2 中引入了多路复用,使得浏览器可以在同一连接上同时进行多个请求和响应。这意味着从同一域名下下载多个文件时,浏览器只需要创建一个连接即可,从而提高性能。

服务器推送

HTTP/2 中引入了服务器推送的概念,服务器可以在响应一个请求时同时发送其他需要的资源给客户端,客户端无需再次请求。

例如,在浏览器请求首页的 HTML 文件时,服务器可以将 CSS 和 JavaScript 文件作为附加的推送响应一起发送,这样浏览器就无需再次请求这些文件,加快了页面加载速度。

头部压缩

在 HTTP/1.1 中,每个请求和响应都必须携带一些元数据,例如请求 URL、请求方法和响应状态码等。这些元数据通常会被浏览器和服务器重复发送,从而增加传输时间和带宽。

HTTP/2 引入了头部压缩机制,使得重复的元数据只需要发送一次,从而大幅减少了传输时间和带宽。这种机制可以节省高达 90% 的头部传输数据量。

结论

HTTP/2 引入了许多新的功能和改进,可以显著提高 Web 性能和用户体验,但是也需要开发者适时地进行优化以确保其最大化的效果。