I'm currently debating the question on wether disallowing concurrent GET requests on a given resource constitutes a violation of RFC 2616 (especially the idempotency and safety properties required for the GET method, §9.1).
For instance; if my server receives a GET /data/?dataId=123456 twice simultaneously, would you consider it a violation of safety or idempotency that one or both requests returns an error message ?
As per my understanding, the RFC specifies that the same request should yield the same result when called again. I haven't seen however anything about what behaviours are acceptable regarding concurrent requests.
My feeling is that disallowing concurrent GET access (on a given resource, not as a general rule of course) does not constitute a violation of the RFC. Returning a 423 response code, or a 500 (although not very elegant), or even a 429 or a 420 (although the meaning is slightly different) seems acceptable to me.
I would like to know however if there are valid arguments proving that the RFC denies this position.
Thanks in advance / Best Regards