从HTTP2的多路复用,到与TCP的关系拓展

avatar
作者
猴君
阅读量:0

在讨论题目之前无疑涉及到两个知识点:

  1. 什么是HTTP
  2. 什么是TCP

在了解以上连个知识点后,我们可以更加深入了解

一.HTTP与TCP的关系

  1. HTTP 是一个应用层协议
  2. TCP 是一个传输层协议
  3. HTTP使用TCP作为其传输协议之一,HTTP协议中的数据通过TCP连接进行传输,在HTTP进行数据传输之前,首先需要在传输层建立一个TCP连接

总结:可以说HTTP依赖于TCP提供的可靠连接服务,但它们属于不同的协议层次。HTTP在应用层定义了如何格式化和传输请求和响应,而TCP在传输层提供了数据传输的可靠性和顺序保证。

二.浏览器的同一域名并发限制
浏览器对同一域名的并发请求数量有限制,这种限制通常被称为“连接并发限制”或“同一域名并发请求限制”。这种限制是为了防止单个网站占用过多的网络资源,导致其他网站的访问速度变慢。

三.HTTP2的多路复用解决了什么问题?
多路复用代替了HTTP1.x的序列和阻塞机制,所有的相同域名请求都通过同一个TCP连接并发完成。在HTTP1.x中,并发多个请求需要多个TCP连接,以及浏览器的同一域名并发限制。

好处

  1. 同域名下所有通信都在单个连接上完成,消除了因多个 TCP 连接而带来的延时和内存消耗。
  2. 单个连接上可以并行交错的请求和响应,之间互不干扰

四.那HTTP2的并发就可以起飞了么?
使用 HTTP/2 后,并发请求的处理机制确实有了很大的改进,但仍然存在一些限制。尽管 HTTP/2 通过单一 TCP 连接的多路复用机制解决了 HTTP/1.1 中的很多问题,但并发请求的数量可能仍然会受到以下几个因素的限制:

  1. 客户端和服务器的实现:虽然 HTTP/2 协议本身支持多路复用,但实际的并发请求数量可能会受到客户端和服务器实现的限制。例如,浏览器通常会对同一域名的并发请求数量进行限制,尽管这个数量通常比 HTTP/1.1 要高得多。

  2. 服务器配置:服务器端可能会对单一连接的并发请求数量进行配置和限制,以防止资源过载。具体的限制取决于服务器的配置和硬件性能。

总之,使用 HTTP/2 可以显著提高并发请求的处理能力,但仍需注意可能的限制和优化策略。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!