In section 9, last sentence of the first paragraph:
“Clients SHOULD be constructed with this in mind and SHOULD perform a GET on the member resource before editing.”

Shouldn't the first “SHOULD” be a “should” and the second a “MAY” or even “may” (or “might”)?

Section 6 of RFC2119 (Guidance in the use of these Imperatives) is:
“Imperatives of the type defined in this memo must be used with care and sparingly. In particular, they MUST only be used where it is actually required for interoperation or to limit behavior which has potential for causing harm (e.g., limiting retransmisssions) For example, they must not be used to try to impose a particular method on implementors where the method is not required for interoperability.”

Offline clients won't perform a GET on the member resource before editing; some clients might want to use HEAD instead of GET [1]; etc. Moreover, this is just a “good practice” (still in [1]), not an “Imperative”. Let the market decide (I suspect most clients will effectively perform a conditional GET –using If-None-Match or If-Modified-Since– but let's not legislate).

[1] http://www.imc.org/atom-protocol/mail-archive/msg02015.html

--
Thomas Broyer


Reply via email to