- From: Joe Orton <joe@manyfish.co.uk>
- Date: Thu, 11 Jun 2020 20:13:14 +0100
- To: ietf-http-wg@w3.org
Apologies if this has already been discussed, I don't see anything in
errata and the text is very confused.
https://tools.ietf.org/html/rfc7616#section-3.4 says that the uri=
parameter sent by the client should be the "effective request URI" as
defined by 7230 and explicitly not the request-target:
uri
The Effective Request URI (Section 5.5 of [RFC7230]) of the HTTP
request; duplicated here because proxies are allowed to change the
request target ("request-target", Section 3.1.1 of [RFC7230]) in
transit.
3.4.3 then says the A2 construction uses request-uri, a term which is
never explicitly defined (except in RFC2616, which is not referenced):
A2 = Method ":" request-uri
... unless you assume that request-uri means "effective request URI",
which is non-obvious.
3.4.6 then defines "request-target" as if *that* was used in e.g. A2
construction, which it wasn't.
All the examples then use absolute-path in uri=, which is not an
"effective request URI" (right?), further muddying the waters.
If request-target is supposed to be used in uri=, that makes sense to
me; strike all mention of "effective URI" and "request-uri", use
"request-target" everywhere and define that uri= takes the
request-target. (This is then basically the same as 2617 as well)
How have current 7616 implementations dealt with this? Stick with
2617-style request-target everywhere?
Regards, Jos
Received on Thursday, 11 June 2020 19:13:30 UTC