Skip to content

HTTP/2 CONNECT implementation is possibly not compliant with h/2 spec #13044

@nicktrav

Description

@nicktrav

This is a minor nitpick on some documentation I found for the CONNECT proxy behavior that doesn't like up with the HTTP/2 spec.

The existing documentation for connect_matcher mentions this:

For HTTP/2, where CONNECT requests may have a path, the path matchers will work if there is a path present

The h/2 spec has this to say in section 8.3:

The ":scheme" and ":path" pseudo-header fields MUST be omitted.

A CONNECT request that does not conform to these restrictions is
malformed (Section 8.1.2.6).

I noticed that when this functionality was added in #10894, some of the implementation makes use of the path, which would seemingly violate the spec as a client should not be sending :path in the request.

I don't think anything is broken right now (CONNECT with h/1 and h/2 works great!), but I wanted to mention this to see if this is just a docs issue, or something that should actually be fixed in the implementation.

Metadata

Metadata

Assignees

No one assigned

    Labels

    area/httpquestionQuestions that are neither investigations, bugs, nor enhancements

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions