两个端点的HTTP / 2共享设置?

时间:2015-11-01 21:17:06

标签: http2

当连接开始时,请对以下场景进行成像:

客户端发送前言,服务器发送SETTINGS框架。它将1设置为16384并将3设置为1000(这些数字没有特殊含义,仅用于说明),然后客户端将其发送到设置框架设置1 = 81922 = 1

现在,设置有两个单独的映射吗?那么本地和远程一个?

与local = [1 = 163843 = 1000]和remote = [1 = 8192,{{1 }} = 2] 或者他们是否共享一张地图进行设置?

类似设置= [1 = 18192 = 21 = 3]

1 个答案:

答案 0 :(得分:1)

RFC 7540, section 6.5声明:

  

SETTINGS参数未协商;它们描述了发送对等体的特征,它们由接收对等体使用。每个对等体可以通告相同参数的不同值。

您的特定示例提到了设置键1,它对应于SETTINGS_HEADER_TABLE_SIZE,它具有RFC 7541中指定的特定处理。

通常,本地和远程对等方为这些设置维护单独的映射,有些只对一个对等方有意义(或语义略有不同)。

例如,服务器可能会通知客户端它不会接受超过1024个并发流(密钥3,SETTINGS_MAX_CONCURRENT_STREAMS),但客户端不太可能在典型部署中通知服务器此值