users@jersey.java.net

[Jersey] Re: stateless REST

From: Robert Gacki <robert.gacki_at_contenttrace.org>
Date: Fri, 10 Jun 2016 17:30:14 +0200

What do you mean by directly? What is direct? I count using a browser
as direct interaction with a server, that serves me webpages or a
download. HTTP itself is just a protocol that is mostly human-readable
- a reason for why its so successful and easy to adopt.

The 'stateless' _only_ refers to HTTP or HTTP-like protocols (like e-
mail). Maintaining state between server and client is the
responsibility of the client and server application. Because of that,
Fielding explains things like idempotence or what HTTP verbs are
responsible for. It is often summarized as "Dump pipes, smart clients".

To summarize it in my words: So the transport layer is stateless, the
application layer may maintain state.

Robert

Am Freitag, den 10.06.2016, 10:34 -0400 schrieb cowwoc:
> On 2016-06-10 4:33 AM, Robert Gacki wrote:
> >
> > You also said that REST is for computers, not humans. Sorry, but
> > that
> > is just wrong. REST describes the basic principles of how the web
> > works. It was created at a time, where HTML clients were the common
> > kind of client to use HTTP. Fielding just explained that HTTP
> > allows
> > other kinds of clients. This includes clients for humans and for
> > automation.
> My point was that humans do not interact with a REST server
> directly. 
> They always go through an intermediary (a web browser in most cases) 
> that submits HTTP requests on their behalf.
>
> Humans expect a stateful conversation with the server. REST mandates
> a 
> stateless conversation. The browser abstracts this implementation-
> detail 
> away from the human.
>
> Gili
>