On 06/11/2012 12:10 PM, Jaroslav Henner wrote:
Hi.
I think the fact that when updating (PUT), we may send only the updated xml elements
violates following.
http://www.ics.uci.edu/~fielding/pubs/dissertation/rest_arch_style.htm
------8<------8<------8<------8<------
Figure 5-2: The client-server style
5.1.3 Stateless
We next add a constraint to the client-server interaction: communication must be
stateless in nature, as in the client-stateless-server (CSS) style of Section 3.4.3
(Figure
5-3), such that each request from client to server must contain all of the information
necessary to understand the request, and cannot take advantage of any stored context
on the server. Session state is therefore kept entirely on the client.
------8<------8<------8<------8<------
Am I right? If so, this is quite huge violation. Much much bigger than some state of
SESSION_ID/TOKEN. Would caches/proxies work well with current design?
No, you're not, the meaning of /stateless/ is that client send in request all info
needed for server to process this request,
and that's exactly what happens on PUT, the fact that we using PATCH as
PUT extension (e.g we send only elements that we want to be updated),
not violets REST /stateless/ concept in any way.
Jaroslav Henner.
--
Michael Pasternak
RedHat, ENG-Virtualization R&D