cratelyn / aquarius

โ™’ `aquarius` is a small tool for load-testing http/2 servers
4 stars 0 forks source link

feat: ๐Ÿ‘’ allow workers to send large headers #5

Open cratelyn opened 3 months ago

cratelyn commented 3 months ago

https://httpwg.org/specs/rfc7540.html#rfc.section.10.5.1

RFC 7540 ยง 10.5.1 states:

A large header block (Section 4.3) can cause an implementation to commit a large amount of state. Header fields that are critical for routing can appear toward the end of a header block, which prevents streaming of header fields to their ultimate destination. This ordering and other reasons, such as ensuring cache correctness, mean that an endpoint might need to buffer the entire header block. Since there is no hard limit to the size of a header block, some endpoints could be forced to commit a large amount of available memory for header fields.

adding functionality to Worker so that it may send large header blocks would allow operators to exercise their servers' resilience to these kinds of attacks.

https://github.com/cratelyn/aquarius/blob/main/src/worker/tx.rs#L18-L28

see also, #1.