* Cutler, Roger (RogerCutler) <RogerCutler@chevrontexaco.com> [2003-06-23 10:43-0500]
> Well put, Eric. It seems to me that you could dress this up just a bit
> and come up with some candidate verbiage for the document ... Hint,
> hint ...
[..]
Since we are talking about verbiage for the document...
> -----Original Message-----
> From: Newcomer, Eric [mailto:Eric.Newcomer@iona.com]
> Sent: Sunday, June 22, 2003 12:21 PM
> To: Assaf Arkin
> Cc: Ugo Corda; www-ws-arch@w3.org
> Subject: RE: Web Service Description and stateful services - (on the
> 'www-ws@w3.org' list) Debating on a) Stateful Web Service Instances b)
> Stateful Interaction - OGSI
>
>
>
> As Roger pointed out, we are often talking on this list about the same
> things using different terms, and about different things using the same
> terms. The normal case, I guess, without an agreed architecture...
>
> Anyway, I wanted to clarify a point in the discussion. There are at
> least two kinds of state mentioned in this thread - application state
> and transport state.
>
> It's very true that a majority of Web sites manage some application
> state. But HTTP does not include stateful sessions - meaning HTTP does
> not define a way to maintain a connection beyond what's necessary to
> execute a single HTTP method. Many other communication protocols do
> support the notion of connections that live beyond a single method
> invocation (including those used in TP monitors whose applications are
> stateless), but of course that type of connection state requires
> resources impractical if not impossible to allocate over the WAN which
> is the Web.
This is not completely true. HTTP/1.1 does allow you to keep a TCP
connection to a server open that you could use to maintain some state:
http://www.w3.org/Protocols/rfc2616/rfc2616-sec8.html
A few comments though:
- using a proxy would probably make this method fail: the persistent
connection is hop-to-hop, and the proxy may use its connection to a
server for 2 of its clients.
- in practice, HTTP connections are not maintained for a long time in
most servers (something like 30 seconds for Apache whereas Jigsaw
doesn't close the connection until it's forced to) and firewalls
often terminate stale TCP after some time.
- using this persistent connection to maintain state is not RESTful
since the subsequent HTTP requests would not have all the
information necessary (statelessness).
So I would probably just drop "meaning HTTP does [..] execute a single
HTTP method."
Regards,
Hugo
--
Hugo Haas - W3C
mailto:hugo@w3.org - http://www.w3.org/People/Hugo/