美文网首页
http/2提升web性能

http/2提升web性能

作者: small_zeo | 来源:发表于2020-12-27 09:25 被阅读0次

前言

http0,http1本身低效的限制,存在瓶颈。
http/2 是超文本传输协议2.0,是下一代http协议。HTTP/2 通过多路复用、二进制流、Header 压缩等等技术,极大地提高了性能,http2会慢慢取代HTTP/1.x 而被广泛采用,更适合较高的请求量。

5G和HTTP/2

5G商用,在5G里采用HTTP协议 ,应用到HTTP相关技术:
HTTP/2
JSON
HATEOAS
RESTful

二进制协议

HTTP/1.1 版的是基于文本(ASCII编码)传输的,效率低也不安全。HTTP/2 则是一个彻底的二进制协议编码,头信息和数据体都是二进制,可以进行压缩,并且统为"帧"(frame):头信息帧和数据帧,二进制协议解析起来更高效更安全。
HTTP/2 中,同域名下所有通信都在单个连接上完成,该连接可以承载任意数量的双向数据流。每个数据流都以消息的形式发送,而消息又由一个或多个帧组成。多个帧之间可以乱序发送,根据帧首部的流标识可以重新组装。

多路复用

多路复用,代替原来的序列和阻塞机制。所有就是请求的都是通过一个 TCP连接并发完成。 HTTP 1.x 中,如果想并发多个请求,必须使用多个 TCP 链接,且浏览器为了控制资源,还会对单个域名有 6-8个的TCP链接请求限制
在 HTTP/2 中,有了二进制分帧之后,HTTP /2 不再依赖 TCP 链接去实现多流并行了,在 HTTP/2中:
同域名下所有通信都在单个连接上完成。
单个连接可以承载任意数量的双向数据流。
数据流以消息的形式发送,而消息又由一个或多个帧组成,多个帧之间可以乱序发送,因为根据帧首部的流标识可以重新组装。

HTTP/2 Server Push机制

在HTTP/2里,可以将多个回应一起发送
HTTP/2 允许服务器未经请求,主动向客户端发送资源,这叫做服务器推送(server push)

压缩策略

HTTP/2对这些首部采取了压缩策略:
HTTP/2在客户端和服务器端使用“首部表”来跟踪和存储之前发送的键-值对,对于相同的数据,不再通过每次请求和响应发送;
首部表在HTTP/2的连接存续期内始终存在,由客户端和服务器共同渐进地更新;
每个新的首部键-值对要么被追加到当前表的末尾,要么替换表中之前的值
HTTP/2的通过支持请求与响应的多路复用来减少延迟,通过压缩HTTP首部字段将协议开销降至最低,同时增加对请求优先级和服务器端推送的支持。
HTTP/1.x 有连接无法复用、队头阻塞、协议开销大和安全因素等多个缺陷。
HTTP/2 通过多路复用、二进制流、Header 压缩等等技术,极大地提高了性能,http2会慢慢取代HTTP/1.x 而被广泛采用。

HTTP/2的支持

现在主流的软件都支持HTTP/2
基本上大部分浏览器在2015年底都支持HTTP/2了,包括Chrome、Opera、Firefox、IE 11、Safari,Edge。

相关文章

  • http/2提升web性能

    前言 http0,http1本身低效的限制,存在瓶颈。http/2 是超文本传输协议2.0,是下一代http协议。...

  • http2.0优势

    HTTP/2 相比于 HTTP 1,大幅提升了 web 性能,减少网络延迟。 一、多路复用的单一长连接 单一长连接...

  • web 性能提升

    概括的总结一下web 性能的提升方式: 一、 规则1——减少HTTP请求 二、 规则2——使用内容发布网络 三、 ...

  • Web性能提升之Http2.0

    在详细分析http2.0之前,有必要先看看http协议的演进史,是如何一步一步从http1.0升级到http2.0...

  • 浅谈QUIC协议原理与性能分析及部署方案

    之前写过《http1.0 与 http1.1的区别》与 《再谈HTTP2性能提升之背后原理—HTTP2历史解剖》,...

  • Web性能优化与HTTP/2

    原创: season [coding.js]2015-10-13 如今,互联网上的内容越来越丰富,过去几年时间,一...

  • Nginx学习与实战系列 · 配置HTTP2

    HTTP/2 协议于2015年5月正式版发布,HTTP/2大幅度的提高了web性能,在HTTP/1.1完全语意兼容...

  • HTTP2.0相比1.0有哪些重要的改进

    HTTP2.0相比HTTP1.X大幅度的提升了web的性能。在与HTTP/1.1完全语义兼容的基础上,进一步减少了...

  • 5.网站的高性能架构

    性能测试指标 响应时间 并发数 吞吐量 性能计数器 性能优化 web 浏览器1 减少http请求2 使用浏览器缓存...

  • 2017ArchSummit-WEB加速,协议先行

    这个分享主要对提升WEB性能,在协议层面讨论优化的方案,主要分三个层面优化,TCP层面,TLS层,HTTP层。文中...

网友评论

      本文标题:http/2提升web性能

      本文链接:https://www.haomeiwen.com/subject/pdnnnktx.html