W3C home > Mailing lists > Public > ietf-http-wg-old@w3.org > January to April 1997

RE: PEP draft delayed -- diffs so far attached

From: Henrik Frystyk Nielsen <frystyk@w3.org>
Date: Wed, 12 Mar 1997 17:56:33 -0500
Message-Id: <3.0.1.32.19970312175633.00a92550@pop.w3.org>
To: Yaron Goland <yarong@microsoft.com>, 'Dan Connolly' <connolly@w3.org>, http-wg@cuckoo.hpl.hp.com
Cc: khare@w3.org
At 05:18 PM 3/11/97 -0800, Yaron Goland wrote:

>Also, would it be correct to assume that if one is able to successfully
>transmit a PEP enhanced request and get an appropriate response then the
>extension could specify, as part of its definition, that it is no longer
>necessary to send the protocol header so long as the persistent
>connection is outstanding? The idea is that protocol headers are quite
>large and having to send them on every request would not be desirable. I
>notice the spec hints at this with its comments regarding cookies but
>that still is heavier than absolutely necessary.

An important property of the Protocol header is that it is a transaction
header and so a PEP-enabled HTTP transaction has the same transaction model
as a non-PEP-enabled HTTP transaction - that is - exactly one
request/response. There are two reasons for this:

1) It would be unfortunate to rely on opening and closing transport
connections for terminating PEP extensions. One of the main differences
between HTTP/1.0 and HTTP/1.1 is that you never have to close the
connection in order to resume a well-known state. The exception is the
"Upgrade" header which unfortunately only can be terminated by closing the
underlying connection.

2) The binding property of PEP allows the user-agent and the origin server
to make a contractual agreement for the semantics of a specific
transaction. The only way to reliably extend this agreement is by doing it
explicitly, either by  repeating the agreement (sending the Protocol header
again) or using cookies. If it was implicit, then this would require caches
to maintain state of the transport connection and know when to apply which
extensions implicitly. As there may not be a 1:1 mapping between the
"incoming" proxy connection and the "outgoing" proxy connection then this
can be very tricky.

Unless convinced otherwise then I think this makes the overall win of
having a transport connection scope very small.

>The method name hack is truly horrific but I don't see any way around
>that which will still work with down level agents. Even worse, the only
>way to be rid of it, is to rev HTTP to 2.0.

and then you would be very alone in the world as you can't talk to any
installed HTTP applications. This would require at least 2 RTTs in many
cases - now you can settle with one (bad enough but better).

The same is of course the case for the error code - if either of the
extensions fail then the error code is "420 Bad Extension". You then use
the Protocol-Info in the response to see which of them went wrong.

Thanks,

Henrik
--
Henrik Frystyk Nielsen, <frystyk@w3.org>
World Wide Web Consortium, MIT/LCS NE43-346
545 Technology Square, Cambridge MA 02139, USA
Received on Wednesday, 12 March 1997 14:58:39 EST

This archive was generated by hypermail pre-2.1.9 : Wednesday, 24 September 2003 06:32:31 EDT