HTTP/2 max header size

Hi,

I was using “nghttp” command line tool to test NGINX. I enabled
“continuation” option in “nghttp” command line tool, which filled the
HEADERS frame with a very large header field/value. Then I got an GOAWAY
frame with error code of “ENHANCE_YOUR_CALM(0x0b)”. Then I checked the
debug log file of the server, and found “client exceeded
http2_max_header_size limit while processing HTTP/2 connection”.

May I know the consideration about this limitation? For a client, it may
not be able to know the precise value of “http2_max_header_size”. Once a
client gets this error, how can it recover from it or request the
resource
successfully?

Thanks!

Shengtuo Hu

On Tuesday 26 January 2016 15:14:04 Shengtuo Hu wrote:

not be able to know the precise value of “http2_max_header_size”.
Decompression and processing of headers require proportional amount of
memory.
The consideration is simple: to limit the amount of memory that can be
eaten by
a client and prevent DoS attack on the server.

Once a client gets this error, how can it recover from it or request
the resource successfully?

[…]

If a client gets this error then either it is doing something wrong by
sending
incorrect requests, or the server is configured incorrectly.

wbr, Valentin V. Bartenev

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs