Put the If-None-Match: * requirement on the server#292
Conversation
csarven
left a comment
There was a problem hiding this comment.
Tests have shown inconsistent treatment of the If-None-Match: * header.
Vague. [Citation needed]
I believe there is consensus that Solid Servers must support this feature based on the issues discussions in #40 and #108.
Already in the Protocol:
A data pod MUST implement the server part of HTTP/1.1 Conditional Requests [RFC7232] to ensure that updates requested by clients will only be applied if given preconditions are met.
Moreover, for clients the Protocol includes:
A Solid client MAY implement the client parts of HTTP/1.1 Conditional Requests [RFC7232] to only trigger updates when certain preconditions are met.
Hence, neither the original or the proposed text is necessary.
As for:
I also think we cannot put such a requirement on the client
The requirement is not pushed to the client. Client behaviour is compatible with servers irrespective of the header in the request.
, also we can't test that.
Why? (Putting aside the fact that it is not the client that actually prevents undesired modification.)
Thus, I have changed the wording to make it a requirement on the servers.
Redundant.
I don't agree with the proposed change.
As mentioned, since server support is a MUST and client support is a MAY (as per #http section), no text is necessary. The purpose of the existing text in the Protocol was to (strongly?) encourage clients to use the header. So, I propose to change it to a Note - it is not a whole lot different than a MAY here but at least it is not redundant and still gets to put some emphasis on its use.
Co-authored-by: Sarven Capadisli <[email protected]>
|
Right. I hadn't noticed that there was a general must on the conditional requests. Then, I agree that a note is appropriate. |
Tests have shown inconsistent treatment of the
If-None-Match: *header. I believe there is consensus that Solid Servers must support this feature based on the issues discussions in #40 and #108. I also think we cannot put such a requirement on the client, also we can't test that. Thus, I have changed the wording to make it a requirement on the servers.