Closed
Description
Pseudo headers were filtered out of HTTP/2 and HTTP/3 requests with this PR - #36166
Unfortunately, the way they are filtered out - setting the header properties to default removes the bits AND the value - means string reuse no longer happens for those headers. e.g. :authority = localhost:80
allocates localhost:80
for every request.
I think the better way to filter these headers is to add a special method that clears their bits. We do something similar for some response headers:
aspnetcore/src/Servers/Kestrel/shared/KnownHeaders.cs
Lines 1165 to 1168 in 13a4608