HTTP / 2.0多路复用如何与TCP一起使用?

问题描述 投票:0回答:1

我不是专业的网络工程师,所以我希望我的问题不会显得含糊或天真。

HTTP / 2.0中的多路复用似乎同时使用单个TCP连接处理多个/不同请求,因此我们避免了行首阻塞问题。我想知道它与感知数据reassembly中的基础TCP连接如何工作/重叠。

TCP还确保即使在接收方无序接收(或丢失)构成D的数据包的情况下,也重构了在接收方接收的数据(D),以在接收方建立D,然后将其移交给应用程序。

我的问题是,HTTP / 2.0中的帧概念如何能够适应/重新组合TCP数据包以在接收方组成整个消息?哪一个先发生?还是在帧和数据包之间进行什么样的映射(一对一,一对多等)?简而言之,它们如何协同工作?

Thx

tcp http2 packet frames multiplexing
1个回答
1
投票
TCP不会解释这些字节。TCP发送方只是将字节打包到TCP帧中并一起发送。TCP接收器接收TCP帧,然后重新组合碰巧形成一系列HTTP / 2帧的字节。

TCP和HTTP / 2不能真正一起工作,因为TCP并不知道它在传输什么,它只是一系列不透明的字节。

因此,TCP帧和HTTP / 2帧之间没有映射。

[考虑到在大多数情况下,HTTP / 2是加密的,因此您有TCP传输不透明的字节,而这些字节恰好是TLS帧字节(可能是分段的-即TCP帧可能包含1.5 TLS帧,而其余的TLS帧字节在后续的TCP中帧);每个TLS帧均包含不透明字节,这些字节恰好是HTTP / 2帧字节(也可能是分段的)。

© www.soinside.com 2019 - 2024. All rights reserved.