在http2.0中每一个http请求都建立一个stream吗
时间: 2023-08-31 14:22:15 浏览: 37
### 回答1:
A:是的,在HTTP/2.0中,每个HTTP请求和响应都与一个唯一的流相关联。流可以通过一个共享的网络连接并行交换。这样,HTTP/2.0可以通过多个流并发地处理请求和响应,从而提高性能。每个流都有自己的标识符和优先级,可以用于对请求和响应进行流量控制和优化。
### 回答2:
在HTTP/2.0协议中,并不是每个HTTP请求都需要建立一个单独的流(stream)。
HTTP/2.0使用了一种称为"多路复用"的技术,它允许多个请求(或响应)通过同一个TCP连接传输。在一个TCP连接中,可以同时存在多个流,每个流都被分配了一个独特的标识符。
在HTTP/2.0中,客户端和服务器可以同时发送多个HTTP请求或响应,每个请求/响应都被分配一个stream id作为标识。这些请求/响应可以乱序发送和接收,但可以通过stream id来重新排序。
通过复用一个TCP连接来传输多个请求/响应,HTTP/2.0大大减少了网络延迟和资源消耗,提高了性能。
当一个新的请求需要发送时,它会被分配一个唯一的stream id,并在该stream上传输请求和响应数据。每个流都是独立的、有序的,而且可以有它自己的优先级。
需要注意的是,虽然同一个TCP连接可以同时存在多个流,但并不是每个流都是并行处理的。HTTP/2.0设置了一些规则来控制流的顺序和优先级,以确保资源的有效利用,并避免某些流占用过多的带宽。
综上所述,在HTTP/2.0中,并不是每个HTTP请求都建立一个单独的stream,而是通过使用多路复用技术,多个请求可以共享一个TCP连接上的多个流。
### 回答3:
在HTTP/2.0中,一个HTTP连接可以同时承载多个流(stream)。与HTTP/1.x中每个请求都需要建立一个独立的连接不同,HTTP/2.0引入了多路复用的概念,允许在同一个TCP连接上同时发起多个流。
在HTTP/2.0中,每个流都有一个唯一的标识符,可以通过标识符将请求和响应与特定的流关联起来。每个流可以独立地传输请求和响应消息,并且可以按照优先级进行处理。这意味着在HTTP/2.0中,不同的请求可以通过不同的流并行地发送和接收,提高了性能和效率。
建立新的流时,需要发送一个帧(frame)来表示新流的创建。HTTP/2.0使用了二进制协议,将HTTP消息分解成更小的帧来进行传输。每个流都由多个帧组成,帧的顺序可以根据需求进行调整和优化。
因此,在HTTP/2.0中,并不是每一个HTTP请求都必须建立一个新的流,而是可以通过复用已经建立的连接来同时处理多个流。这种多路复用的机制使得HTTP/2.0更加高效和灵活,能够更好地满足当今互联网的需求。