Re: RE-VERSION

On Mon, 11 Aug 1997, Klaus Weide wrote:

> On Mon, 11 Aug 1997, John Franks wrote:
> 
> > On Mon, 11 Aug 1997, Josh wrote:
> > > 
> > > My point here is that it essentially makes this server version
> > > advertisement useless, therefore, philosophically, I beleive
> > > the response version should be the entity-version.
> > > 
> > 
> > Instead of debating which is more useful, might it not be sensible to
> > consider sending BOTH in a clearly labelled fashion.
> 
> I would like to see a definition of what is meant by "entity version".
> So far it's a very diffuse term to me.
> 
> Can it be defined in an exact way?

I will try.  Let's focus only on responses and only on 1.X agents for
now.  Informally the entity version is the smallest minor version
number such that a user agent or proxy of that version can understand
all features used in the response, provided those features exist in
some version of HTTP/1.*.

More formally, the entity version of a response is 1.N provided
every HTTP header or footer in the entity is defined in HTTP/1.N and
at least one header or footer in the entity is not defined in
HTTP/1.(N-1).  For the purposes of this definition a header is
an HTTP header provided it is defined in HTTP/1.X for some X.


> Also it seems the term "entity version" is very misleading, because
> (whatever exactly it is) it appears to comprise more things than "entity"
> in the sense of the HTTP spec.
> 

I am not quite sure why you say this.  Remember that in HTTP-ese an
entity is the entity-body together with all headers and footers.
Operationally the entity is everything that goes over the wire in a
transaction.  I can think of one case where you are correct though.
Given the entity:


   HTTP/1.1 200 OK
   Server: Blah
   Date: Mon, 11 Aug 1997 19:33:55 GMT
   Last-modified: Fri, 25 Jul 1997 13:43:15 GMT
   Content-type: text/html
   Content-length: 3052

   ...3052 bytes of stuff...

there is no way to tell if there is an implicit "Connection: close"
header (which there would be if the entity version is 1.0) or an
implict "Connection: keep-alive" (which there would be if the 
entity version is 1.1).  Thus in this case the entity version would
contain information not derivable from the entity alone.  In other
cases I think the entity version could, at least in principle, be
derived from the entity.  Am I wrong?

In any case, if the entity version were included in some header
then for self-referential reasons the entity version would 
depend only on the entity.  :)


John Franks 	Dept of Math. Northwestern University
		john@math.nwu.edu

Received on Monday, 11 August 1997 12:54:29 UTC