dotnet / dotnet/aspnetcore

Add limit for HTTP/2 settings

Open
#7,828 1 comment 0 reactions 0 assignees View on GitHub
affected-very-few area-networking enhancement feature-kestrel severity-nice-to-have
Dominant language
C#
Stars
38.4k
Forks
10.9k
Avg merge
2d 5h
Merged PRs (30d)
276

Description

We should look at the [IIS per-frame and per-minute HTTP/2 settings limits](https://support.microsoft.com/en-us/help/4491420/define-thresholds-on-the-number-of-http-2-settings-parameters-exchange) and determine how and if to implement something similar in Kestrel.

Kestrel doesn’t limit the number of settings frames or settings parameters per frame. However, with Kestrel’s default max frame size of 16KiB, there cannot be more than ~3000 settings per frame. The cost of processing each setting is also very minimal. Adding a per-frame or even a per-connection limit to Kestrel would be trivial. Adding a per-unit-time limit would be a little trickier.

@muratg @blowdart would like this for 3.0.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.