- From: Koen Holtman <koen@win.tue.nl>
- Date: Fri, 15 Dec 1995 10:07:32 +0100 (MET)
- To: Alex Hopmann <hopmann@holonet.net>
- Cc: http-wg%cuckoo.hpl.hp.com@hplb.hpl.hp.com
Alex Hopmann: > >Rohit Khare wrote: >>Basically, you probe (in GET or HEAD) to get a lease; if you do get a lease, >>for the next delta-t seconds, you're entitled to use that lease in a >>Authorization: header (using the LEASE scheme) to execute an exclusive PUT or >>POST or PATCH. >Well I don't know about the "lease" idea, but I definatelly think you are on >the right track with the "you probe" idea. One of the beauties of HTTP is >that there is a very clear model: > >Step 1: Client makes a request. Server just receives. >Step 2: Server sends a response. Client just receives. > >The two-phase send changes some of the clarity of this model. Yes, and this changing of clarity comes at a price: the CGI interface will need to be extended to handle reciept of two-phase sends. This will impact on http server CGI handling code and on CGI library code. I'm not yet sure we should be willing to pay that price. The two-transaction model you bescribe below seems like an equaly good solution to me. > However it is >possible to accomplish much the same thing (At least the goals as Roy >expressed them in Dallas), by doing a probe: > >Transaction #1 "The Probe" >Client asks the server if the following send is acceptable, using a GET, >HEAD, or some new method. Server responds. > >Transaction #2 "The Send" >If the server answered transaction #1 in the affirmative, client sends the data. > >Now a couple of notes: >1) Don't pay too much attention to the word transaction above. I know it >implies more than I mean, but I can't think of a better word at this minute. >2) The above only makes sense (in terms of performance) in the context of >persistant connections. >3) In situations where clients either don't care, or are sure that their >"send" is acceptable, they can skip the "probe". More notes: 4) The server should _still_ have the option to refuse to actually perform the request in transaction #2 above, even if it has said to go ahead in the probe transaction. 5) A client sending a probe could be said to be asking the question: 'would it make sense for me to send this request with a very large request body?'. 6) Probes (and two-phase sends) are really a device to save bandwidth by sometimes preventing the useless sending of large requests. Extending their semanctics to be also a device for temporary locking does not buy us anything. 7) Clients can skip sending a probe if the request body is small anyway. >Alex Hopmann >ResNova Software, Inc. >hopmann@holonet.net Koen.
Received on Friday, 15 December 1995 01:11:27 UTC