-
Notifications
You must be signed in to change notification settings - Fork 45
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fine tune wording of the requirement for including Content-Type in the response #565
Comments
|
I think the current wording in #561 can be slightly adjusted
Looking at https://www.rfc-editor.org/rfc/rfc9110#section-8.3
If we want to raise the requirement level to MUST we could just adjust the original text to:
If we don't want to have " NOTE: Solid Protocol raises the level of this requirement from original SHOULD [RFC9110] to MUST |
Good suggestions. I think we should do both.
|
Could you please clarify this point? Somehow reading it doesn't make my 🧠 click. |
I probably should've held off responding at 0230. I'll give it at another shot. What I had in mind is a take on some of the considerations in #119 in that while the Protocol only defines what happens at the observable interface (and implementation details are hidden), requiring Servers to both determine the media type and include the Content-Type in the response (with the exception of "unless" case in RFC) forces certain kinds of implementations (such as the classic filesystem) to be better aware of what they serving, and whether to serve in the first place (and avoid potential security or privacy implications, and content handling errors) even if they physically occupy space alongside resources that are known to the storage (which went through the HTTP interface by a Client). While most of that is implementation detail that need not be discussed in the Protocol, the requirement to preemptively prevents storages from making stuff available out there that it may not be equipped to manage properly. On the other side of this is allowing that possibility of course - allowing some variability with more potential issues. |
This is incorrect, or at least very misleading. The first sentence of the section on HEAD requests specifically reads "The HEAD method is identical to GET except that the server MUST NOT send content in the response." If we do want to change the wording of the requirement more drastically to stick closer to RFC9110, I would suggest we use the term 'associated representation', as used in the section on the Content-Type header (highlight).
(Note that the current wording actually suffices from a conformance perspective: messages with content must include the header, and a HEAD request is identical to a GET request without the content. So we might just clarify that in a non-normative note instead of rephrasing the entire thing.) |
@woutermont which part do you consider incorrect? Based on the two links at the end of the note, it seems to me that: In response to HEAD request, the server generates a response containing content but does not send that content. I do find it overly nuanced, but that's what those two quotes from the RFC seem to say
Now, looking at
I like how you incorporated part of it in your suggestion. I think this is the cleanest wording we managed to get so far out of the original terminology in RFC 9110! |
That is exactly the part I consider incorrect. HEAD requests provide an important performance aspect, that is achieved precisely because no content is being generated by the server. (It is for this reason that the spec states: a server MAY omit header fields for which a value is determined only while generating the content.) The server knows what it would generate and how it would do that, but does not necessarily perform that generation. A response to a HEAD request thus has a selected representation (the one that would be sent as content in response to GET), but does not contain (= enclose) that representation as content. |
Extracting from: #561 (comment)
In short, we want to make sure that the work makes it clear that it also applies when responding to
HEAD
requests.@woutermont proposed
I think this is clear and concise. Maybe adjusting the last sentence to , as in a response to
HEAD
requestSince the wording in the spec includes nuances like
we should triple-check if we use all the terms strictly as intended by the RFC.
The text was updated successfully, but these errors were encountered: