1
0
Fork 0

Implement HTTP2 HPACK table size options

This commit is contained in:
GCHQDeveloper548 2025-10-03 13:24:04 +01:00 committed by GitHub
parent 5d830477b7
commit 0b7f0b4042
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
7 changed files with 115 additions and 8 deletions

View file

@ -107,6 +107,8 @@ They can be defined by using a file (YAML or TOML) or CLI arguments.
address: ":8888" # same as ":8888/tcp"
http2:
maxConcurrentStreams: 42
maxDecoderHeaderTableSize: 42
maxEncoderHeaderTableSize: 42
http3:
advertisedPort: 8888
transport:
@ -136,6 +138,8 @@ They can be defined by using a file (YAML or TOML) or CLI arguments.
address = ":8888" # same as ":8888/tcp"
[entryPoints.name.http2]
maxConcurrentStreams = 42
maxDecoderHeaderTableSize = 42
maxEncoderHeaderTableSize = 42
[entryPoints.name.http3]
advertisedPort = 8888
[entryPoints.name.transport]
@ -158,6 +162,8 @@ They can be defined by using a file (YAML or TOML) or CLI arguments.
## Static configuration
--entryPoints.name.address=:8888 # same as :8888/tcp
--entryPoints.name.http2.maxConcurrentStreams=42
--entryPoints.name.http2.maxDecoderHeaderTableSize=42
--entryPoints.name.http2.maxEncoderHeaderTableSize=42
--entryPoints.name.http3.advertisedport=8888
--entryPoints.name.transport.lifeCycle.requestAcceptGraceTimeout=42
--entryPoints.name.transport.lifeCycle.graceTimeOut=42
@ -408,6 +414,52 @@ entryPoints:
--entryPoints.name.http2.maxConcurrentStreams=250
```
#### `maxDecoderHeaderTableSize`
_Optional, Default=4096_
`maxDecoderHeaderTableSize` specifies the maximum size of the HTTP2 HPACK header table on the decoding (receiving from client) side.
```yaml tab="File (YAML)"
entryPoints:
foo:
http2:
maxDecoderHeaderTableSize: 4096
```
```toml tab="File (TOML)"
[entryPoints.foo]
[entryPoints.foo.http2]
maxDecoderHeaderTableSize = 4096
```
```bash tab="CLI"
--entryPoints.name.http2.maxDecoderHeaderTableSize=4096
```
#### `maxEncoderHeaderTableSize`
_Optional, Default=4096_
`maxEncoderHeaderTableSize` specifies the maximum size of the HTTP2 HPACK header table on the encoding (sending to client) side.
```yaml tab="File (YAML)"
entryPoints:
foo:
http2:
maxEncoderHeaderTableSize: 4096
```
```toml tab="File (TOML)"
[entryPoints.foo]
[entryPoints.foo.http2]
maxEncoderHeaderTableSize = 4096
```
```bash tab="CLI"
--entryPoints.name.http2.maxEncoderHeaderTableSize=4096
```
### HTTP/3
#### `http3`