[Engine-devel] Does RHEVM/Ovirt API violates the stateless requriement of REST?

Michael Pasternak mpastern at redhat.com
Mon Jun 11 09:31:51 UTC 2012


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



More information about the Devel mailing list