-
Notifications
You must be signed in to change notification settings - Fork 44
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
No validator requirement in 2xx response for conditional update #166
Comments
Should I submit an errata proposing to remove the following clause from RFC 7232, section 3.1: |
I finally found the original commit 303b82b |
And the discussion motivating the change is under trac 455. Certainly the intent was to remove the constraint that an error be sent when a duplicate request is made, so the extra limitations were to reduce edge cases. |
It is not an errata. This is the right place to discuss it and either find a better wording or strike the text. |
Thanks, @royfielding for finding the original commit and your response! Sending
I think I understand the original recommendation not to send But in RFC7232 that sub-condition clause is changed to:
The reason of not sending Instead, we would prefer a way simpler approach of always sending So, the proposal is to do one of the following
|
These requirements were motivated by a tiny edge case related to protecting partial updates after two clients simultaneously try a PUT. However, I can't remember if it was when one succeeds and one fails, or one or both responses are lost and they try again, or something like that, nor can I remember what difference was made by not sending ETag. Hence, I intend to remove the requirement as being too obscure to implement in a testable way. |
RFC7232 in https://tools.ietf.org/html/rfc7232#section-3.1 has the following clause:
It doesn't really explain what security or performance considerations are leading to such a requirement, but it calls for a lot of infrastructure and design work to implement it because that logic can be implemented only if the server is stateful. The stateless server cannot comply with such a requirement.
See related mail list thread: https://lists.w3.org/Archives/Public/ietf-http-wg/2018OctDec/0051.html
Either RFC should explain why such logic MUST be implemented or relax "MUST" into "SHOULD" in that clause or remove that clause completely.
The text was updated successfully, but these errors were encountered: