apache / apache/trafficserver

http2: accept requests without :authority pseudo-header?

Open
#11,765 2 comments 0 reactions 0 assignees View on GitHub
HTTP/2 New Feature Stale
Dominant language
C++
Stars
2k
Forks
874
Avg merge
6d 15h
Merged PRs (30d)
46

Description

As of 10.0.0, ATS http2 request parser rejects requests without the `:authority` pseudo-header. However, haproxy's http2 client will in many situations send requests that have the `Host` header but no `:authority`. There is an issue open about this on haproxy side: https://github.com/haproxy/haproxy/issues/2592. The underlying standardization issue seems to be different wording regarding conversion of a `Host` header into an `:authority` header in RFC 7540 vs. 9113, where haproxy hews to 7540 re: preserving http/1.1 semantics as far as possible when converting requests between protocols.

The haproxy issue is originally about Jetty, which apparently ended up adding support for `Host` as an alternative to `:authority`. What's the ATS view on this? Would it be reasonable to accept `Host` in lieu of `:authority` if the latter is missing?

Contributor guide

Open the contributing guide

Research direction

Start by reviewing ATS's HTTP/2 request-parser behavior alongside RFC 7540, RFC 9113, and the linked HAProxy issue. Done means reaching and documenting an ATS decision on whether Host may substitute for a missing :authority pseudo-header, with the expected behavior and validation approach defined.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
networking
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.