- From: Willy Tarreau <w@1wt.eu>
- Date: Thu, 30 Jun 2022 09:13:14 +0200
- To: Stefan Eissing <stefan@eissing.org>
- Cc: "tatsuhiro.t@gmail.com" <tatsuhiro.t@gmail.com>, HTTP <ietf-http-wg@w3.org>
Hi Stefan,
On Wed, Jun 29, 2022 at 11:18:19AM +0200, Stefan Eissing wrote:
> MUST WORK:
> H2 :scheme: https, :path: /, Host: example.com
> H2 :authority: example.com, :scheme: https, :path: /, Host: example.com:443
>
> SHOULD FAIL:
> H2 :authority: example.com, :scheme: https, :path: /, Host: badexample.com
> if not, become H1 GET / HTTP/1.1, Host: example.com
Note authority, that would give:
GET https://example.com/ HTTP/1.1, Host: badexample.com
which is invalid anyway and must fail. I'm not seeing a case that allows
:authority and Host to differ.
> MUST FAIL:
> H2 :scheme: https, :path: /
>
>
> Conversions:
I'm assuming you're talking about conversions by a gateway here, but
please correct me if I'm wrong.
> H1 GET / HTTP/1.1, Host: example.com
> -> H2 :authority: example.com, :scheme: <context>
> -> H0 GET http://example.com/ HTTP/1.0
> -> H1 GET / HTTP/1.1, Host: example.com
No, this one should not forge a :authority where there was not any,
it's the case that's covered by the "unless" rule in the spec, so
you'd get this:
H1 GET / HTTP/1.1, Host: example.com
-> H2 host: example.com, :scheme: <context>
-> H0 GET / HTTP/1.0, Host: example.com
-> H1 GET / HTTP/1.1, Host: example.com
> H1 GET http://example.com/ HTTP/1.1, Host: example.com
> -> H2 :authority: example.com, :scheme: http, Host: example.com
> -> H0 GET http://example.com/ HTTP/1.0
> -> H1 GET / HTTP/1.1, Host: example.com
Agreed.
> H1 GET http://example.com/ HTTP/1.0
> -> H2 :authority: example.com, :scheme: http
> -> H0 GET http://example.com/ HTTP/1.0
> -> H1 GET / HTTP/1.1, Host: example.com
Agreed, and the H2 form is the same as the most common one sent by
clients.
> H1 GET / HTTP/1.0
> -> H2 :authority: <context>, :scheme: <context>
Yep.
> H1 GET urn:ietf:std:97 HTTP/1.1, Host:
> -> H2 :authority: ???, :scheme: urn, :path: ???
I don't know either :-)
Cheers,
Willy
Received on Thursday, 30 June 2022 07:13:29 UTC