【问题标题】:What is the meaning of SETTINGS_HEADER_TABLE_SIZE in http2's SETTINGS frame?http2的SETTINGS框架中的SETTINGS_HEADER_TABLE_SIZE是什么意思?
【发布时间】:2016-06-03 12:15:22
【问题描述】:

我想知道这个参数是不是decoder发送的,用来限制encoder的。

例如,客户端从服务器接收带有参数SETTINGS_HEADER_TABLE_SIZE = 1024 bytes 的SETTINGS 帧。这个参数是否意味着客户端可以用来压缩请求标头的最大内存为 1024 字节?

【问题讨论】:

    标签: http2


    【解决方案1】:

    SETTINGS_HEADER_TABLE_SIZE参数表示RFC 7541中指定的动态表的大小(也称为HPACK编码)。

    您想了解什么是标题表大小的特定部分是RFC 7541, section 4

    该参数每个连接分配的最大内存有关,但它的值并不代表HPACK编码实际使用的内存字节数。

    此参数可以由RFC 7540, section 6.5.2 中指定的任一对等方动态更改。

    【讨论】:

    • 我能理解。你能解释一下我的例子吗?如果客户端在SETTINGS帧中收到SETTINGS_HEADER_TABLE_SIZE = 1024 bytes,是否意味着客户端可以将HPACK的动态表最大更新为1024字节?
    • 这意味着客户端必须将HPACK动态表size更新为1024个条目。具体如何完成取决于您使用的实现。
    • 为什么客户端必须更新到1024? (entries应该是octets还是bytes?)我认为客户端可以将动态表更新为小于或等于1024字节的任意大小。
    猜你喜欢
    • 2018-03-12
    • 2012-01-23
    • 2015-05-04
    • 2018-02-27
    • 2016-09-03
    • 2013-05-31
    • 1970-01-01
    • 2011-07-05
    • 1970-01-01
    相关资源
    最近更新 更多