- From: Marius Kleidl <marius@transloadit.com>
- Date: Thu, 15 May 2025 13:12:27 +0200
- To: Julian Reschke <julian.reschke@gmx.de>
- Cc: ietf-http-wg@w3.org
- Message-ID: <CANY19Nu=aUSQTbvRDWFzobjnY2Hgsz3eL=Fzr911ZWGWxkpwFg@mail.gmail.com>
Hello Julian, I started addressing your comments in two PRs [1][2], thank you again very much! I have a follow-up question regarding this point: > 8. "Please note that the Content-Length header field cannot be used in conjunction with the Transfer-Encoding header field." - really? RFC 9112 Section 6.2 [3] stats the following, which I interpret as Content-Length and Transfer-Encoding being mutually exclusive: > A sender MUST NOT send a Content-Length header field in any message that contains a Transfer-Encoding header field. Am I missing something here? Is there use of Transfer-Encoding used outside of HTTP/1.1 as well? [1] https://github.com/httpwg/http-extensions/pull/3088 [2] https://github.com/httpwg/http-extensions/pull/3092 [3] https://www.rfc-editor.org/rfc/rfc9112.html#section-6.2-2 Best regards, Marius On Thu, May 1, 2025 at 2:26 PM Julian Reschke <julian.reschke@gmx.de> wrote: > Am 11.04.2025 um 14:19 schrieb Julian Reschke: > > Am 08.04.2025 um 14:14 schrieb Marius Kleidl: > >> ... > >> With the closure of https://github.com/httpwg/http-extensions/ > >> issues/2962 <https://github.com/httpwg/http-extensions/issues/2962> > >> following the discussion at the IETF meeting, there are currently no > >> more open issues for this document. Hence, we believe this draft is > >> ready for a WGLC. > >> ... > > > > +1 (and I'll try to review soonish) > > ... > > Ok, not that soonish. But here's my feedback: > > Hi there, > > below a ton of nits, and a few more important things; sorry for the lack > of structure. > > One big issue that I see is the overuse of BCP14 keywords. > > - for each MAY, please check whether this is actually an interop > requierement or just a statement of fact. In which case "may" or "can" > would be better. > > - for each SHOULD NOT, it's important to understand why this is MUST > NOT. So what are the exceptional cases where not following the > requirement is acceptable? > > I flagged some of these cases, but not all. > > > 2. re STRUCTURE-FIELDS; maybe state here upfront that all fields defined > here actually use that syntax; the definitions, for instance in 4.1.1 > are really not sufficient for readers not aware of SF to understand > what's going on. Or, in each definition, link to the matching section in > the SF spec > > 3.1 maybe say something about the PATCH media type early on? > > 4 But URIs of upload resources could be recycled, right? > > 4.1.1 "resource-loses" - typo? > > 4.1.3 "MAY use" -> "can use" > > 4.1.4 "MAY not create" -> "might not create" (twice) > > 4.1.4 "MAY stop" -> "can stop" - it does not need permission here, and > it might choose to stop it for other reasons anyway. > > 4.1.4 "SHOULD NOT send such requests" - in which cases would it be > allowed? Maybe this is a MUST? > > 4.1.4 "MAY make the upload resource" -> "might" > > 4.1.4 "client SHOULD NOT attempt" -> rephrase this as statement that > such attempts will fail > > 4.1.4 "MAY be extended but SHOULD NOT be reduced" - unless? > > "under a target URI" -> "for a target URI"? > > "OPTIONS *" support is known for servers to be hard to implement, so a > MUST feels out of place here. > > "The limits announced in an OPTIONS response SHOULD NOT be less > restrictive than the limits applied to an upload once the upload > resource has been created." - what about if the limit changes between > the requests? > > 4.2.3 I would have moved that to an appendix (if only to avoid that > section numbers will change later on). > > 4.2.4 Remove the version indicators before WG LC please. > > 4.3.1 "The client MUST NOT perform offset retrieval while creation > (Section 4.2) or appending (Section 4.4) is in progress." - otherwise? > > 4.4.1 "The request content MAY be empty" - of course, why not? Why does > this need permission? > > 4.4.2 "... and without discontinuities as possible." - what does this mean? > > 4.5.1 "The client MUST NOT initiate cancellation without the knowledge > of server support." - how does it know that, and what would happen if it > would do it anyway? > > 4.5.2 why does it need to be a 204? > > 4.6 "the resource SHOULD prevent race conditions, data loss, and > corruption by terminating the previous request before processing the new > request" - that actually sounds like a MUST. > > 5. "The start and end of the block might align with the start and end of > the representation data, but they are not required to be aligned." - > explain "aligned" > > 8. "Please note that the Content-Length header field cannot be used in > conjunction with the Transfer-Encoding header field." - really? > > 9.1 " If the digests don't match, the server SHOULD consider the upload > failed and not process the representation further." - and signal an > error, right? > > 10. Can the "subsequent resource" have the same URI as the upload resource? > > 10. Content-Location appears to be incorrect here, see > https://www.rfc-editor.org/rfc/rfc9110.html#section-6.4.2-5.5 > > 11.1.1 What does "user" refer to here? > > 13. Split into subsections > > 13. The definition of Status Code 104 really needs a dedicated section > that the registry can link to. > > 14.1 8792 does not seem to be normative, as it is only used in examples. > > > Best regards, Julian > >
Received on Thursday, 15 May 2025 11:12:44 UTC