Welcome! Log In Create A New Profile

Advanced

Re: How to adjust HPACK dynamic table?

Maxim Dounin
December 17, 2020 01:04PM
Hello!

On Thu, Dec 17, 2020 at 05:01:54AM +0000, Jon Carmicheal wrote:

> I would like to disable the caching of headers in the dynamic
> table of the HTTP/2 HPACK compression algorithm described in RFC
> 7541. I have defined my nginx server with
>
> listen 8080
>
> http2
>
> ;
>
> and I've confirmed that the HPACK algorithm is working as
> expected with Huffman encoding, static header table indexing,
> and dynamic header table indexing. But I haven't been able to
> disable the dynamic table.

You cannot disable dynamic table support in nginx. As an HPACK
decoder, nginx supports dynamic table of up to 4096 octets (the
default for SETTINGS_HEADER_TABLE_SIZE in HTTP/2).

> RFC 7541 mentions in "Section 4.2. Maximum Table Size" the
> ability of an HTTP/2 node to "clear entries from the dynamic
> table by setting a maximum size of 0, which can subsequently be
> restored." Is that a feature supported by nginx? Can I disable
> the dynamic table entirely so that no header fields are cached?
> And can I arbitrarily send a flush request so that all entries
> are evicted and then the dynamic table size is restored? If so,
> how?

Yes, it is supported. The "how" is specified in the section "6.3.
Dynamic Table Size Update" of the same RFC
(https://tools.ietf.org/html/rfc7541#section-6.3).

> I've been trying to play with "http2_max_field_size" and
> "http2_max_header_size" in the server configuration file as
> described in
> https://nginx.org/en/docs/http/ngx_http_v2_module.html. But I
> don't think those are the right parameters. When I set either of
> them to zero, it makes the server return an error when a header
> is sent.

These are unrelated parameters. They set size limits on
compressed individual header fields and total length of all
uncompressed headers, respectively, so nginx will reject attempts
to use larger headers.

--
Maxim Dounin
http://mdounin.ru/
_______________________________________________
nginx mailing list
nginx@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx
Subject Author Posted

How to adjust HPACK dynamic table?

Jon Carmicheal December 17, 2020 12:04AM

Re: How to adjust HPACK dynamic table?

Maxim Dounin December 17, 2020 01:04PM

Re: How to adjust HPACK dynamic table?

Jon Carmicheal December 19, 2020 02:20PM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 117
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready