Re: HTTP/2 and path fragments

>>> The :path pseudo-header field includes the path and query parts of the
>>>target URI (the path-absolute production from [RFC3986] and optionally a
>>>'?' character followed by the query production, see [RFC3986], Section
>>>3.3 and [RFC3986], Section 3.4). A request in asterisk form includes the
>>>value '*' for the :path pseudo-header field.

side note: Major browsers don't follow rfc3986; they may send any
octets in 0x21-0xFF except "#" in path and query.[1] Some server
applications may be depending on that. An HTTP implementation may have
to be more liberal with URIs to interoperate with existing
applications.

In any case, "#" in :path must not be accepted; the request is
corrupt, and there is no safe way to tolerate/reinterpret it.

[1] https://bugzilla.mozilla.org/show_bug.cgi?id=1152455#c6

Zhong

Received on Thursday, 16 April 2015 19:07:52 UTC