We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
http/2最大的特点是使用多路复用,对同一个域的服务器只建立一次TCP连接,加载多个资源,使用二进制帧传输,同时会对http头部进行压缩。
在 HTTP/1 中,每次请求都会建立一次HTTP连接(3次握手4次挥手),请求过程中占用了相当长的时间,即使开启了 Keep-Alive ,解决了多次连接的问题,但是依然有两个效率上的问题:
HTTP/2的多路复用就是为了解决上述的两个性能问题,引入帧和流。多路复用,就是在一个 TCP 连接中可以存在多条流。换句话说,也就是可以发送多个请求,对端可以通过帧中的标识知道属于哪个请求。
HTTP/2 复用 TCP 连接,在一个连接里,客户端和浏览器都可以同时发送多个请求或回应,而且不用按照顺序一一对应。
帧代表着最小的数据单位,每个帧会标识出该帧属于哪个流,流也就是多个帧组成的数据流。
多路复用的意义在于可以用同一个连接传输多个资源,故之前HTTP1.1的优化就没必要了,比如使用雪碧图、合并JS、CSS等减少请求数。
在http 1.1时代,由于需要建立多个TCP连接,服务器需要更多的线程来处理请求,同样地,浏览器也需要,所以浏览器会限制同一个域的同时请求数。
简单讲解一下 http2 的多路复用
怎样把网站升级到http/2
The text was updated successfully, but these errors were encountered:
No branches or pull requests
HTTP/2的多路复用
在 HTTP/1 中,每次请求都会建立一次HTTP连接(3次握手4次挥手),请求过程中占用了相当长的时间,即使开启了 Keep-Alive ,解决了多次连接的问题,但是依然有两个效率上的问题:
HTTP/2的多路复用就是为了解决上述的两个性能问题,引入帧和流。多路复用,就是在一个 TCP 连接中可以存在多条流。换句话说,也就是可以发送多个请求,对端可以通过帧中的标识知道属于哪个请求。
HTTP/2 复用 TCP 连接,在一个连接里,客户端和浏览器都可以同时发送多个请求或回应,而且不用按照顺序一一对应。
多路复用的意义在于可以用同一个连接传输多个资源,故之前HTTP1.1的优化就没必要了,比如使用雪碧图、合并JS、CSS等减少请求数。
参考文章
简单讲解一下 http2 的多路复用
怎样把网站升级到http/2
The text was updated successfully, but these errors were encountered: