HTTP2.0 新特性
二进制分帧
HTTP1 的解析是基于文本,HTTP2.采用二进制
多路复用(连接共享)
允许同时通过单一的 HTTP/2 连接发起多重的请求-响应消息。原来是同一个 TCP 连接里面,上一个回应(response)发送完了,服务器才能发送下一个,现在可以多个回应一起发送。
首部压缩
HTTP1 的 header 带有大量信息,而且每次都要重复发送,HTTP2.0 使用 encoder 来减少需要传输的 header 大小,通讯双方各自 cache 一份 header fields 表,既避免了重复 header 的传输,又减小了需要传输的大小
服务端推送
指的是,还没有收到浏览器的请求,服务器就把各种资源推送给浏览器。比如,浏览器只请求了 index.html
,但是服务器把 index.html
、style.css
、example.png
全部发送给浏览器。这样的话,只需要一轮 HTTP 通信,浏览器就得到了全部资源,提高了性能。服务器推送需要配置,如 nginx 下配置
location / {
root /usr/share/nginx/html;
index index.html index.htm;
http2_push /style.css;
http2_push /example.png;
}
它的意思是,如果用户请求根路径 /
,就推送 style.css
和 example.png
。浏览器上可以看到 css 样式和 png 图片都是推送过来的
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于