- From: Roy T. Fielding <fielding@avron.ICS.UCI.EDU>
- Date: Wed, 27 Dec 1995 22:32:28 -0800
- To: Jeffrey Mogul <mogul@pa.dec.com>
- Cc: http-wg%cuckoo.hpl.hp.com@hplb.hpl.hp.com
> We want to find the costs of these schemes, in addition to the basic
> cost of the HTTP interaction (which might be less than 1 round-trip
> time [RTT], if persistent connections are used, or several RTTs in
> other cases).
>
> The additional cost of a two-phase interaction is one RTT, since the
> client must pause for at least one RTT before it sees the "Continue"
> status.
>
> The cost of a *failed* one-phase interaction (i.e., client tries
> a PUT, server says "no way" and closes the TCP connection) is a
> little harder to measure. The entire first (aborted) connection
> is wasted, so there are at least two or possibly three RTTs involved
> in that. I'll assume 3 RTTs, to be concrete and conservative.
> Then there is one more RTT to go through the two-phase interaction,
> which is guaranteed to result in a rejection (but the client doesn't
> yet know that)
This is interesting analysis, but doesn't apply to what I said.
RTTs are not sufficiently important for the two-phase methods for them
to be the measure of what is "best". What is important is:
1) reliability (which boils down to both sides eventually knowing
what happened)
2) not sending unwanted data over the wire (if possible).
I agree that an optimistic approach is capable of handling (1).
However, it is not capable of handling (2).
In most cases, this difference is trivial. However, some security-related
systems consider the ability to refuse a vulnerable operation before it
occurs to be a showstopper. Also, some networks will require the user
to pay by the amount of data sent, regardless of whether that data was
initially rejected by the server.
Given these cases exist, a pessimistic approach is "best". This does not
mean that the 5 second delay is the best solution -- it is just a way of
forcing a real solution to be created.
...Roy T. Fielding
Department of Information & Computer Science (fielding@ics.uci.edu)
University of California, Irvine, CA 92717-3425 fax:+1(714)824-4056
http://www.ics.uci.edu/~fielding/
Received on Wednesday, 27 December 1995 22:38:02 UTC