Re: X-Device-xxx header: final name and use?

Some thoughts in-line ...

On 01/06/2008 17:47, Aaron Kemp wrote:
> Sorry if I'm replying to the wrong thread; I didn't see any other 
> discussion on this.
> 
> On Mon, May 26, 2008 at 10:48 AM, Francois Daoust <fd@w3.org 
> <mailto:fd@w3.org>> wrote:
> 
>     Trying to summarize different positions heard before we published
>     the doc as First Public Working Draft:
> 
>     1. X-Device-<original header name> is used in practice
> 
> 
> FWIW, we're currently sending both X-Device and X-Original from the 
> Google transcoder since it seemed that both were in use in the wild.  I 
> am keen to send only one of the two if we can decide :)
>  
> 
>     2. Device is probably not the best name we could think of.
>     X-Received, X-Original, in short everything else than "Device" is
>     probably better.
> 
> 
> I think X-Original more clearly denotes the actual operation that occurred.

I think it rather depends what we decide ref 4 below. X-Original refers 
to the notion of what the device "originally" sent, whereas X-Received 
is actually a more realistic statement on the part of the proxy, which 
can't actually know what messing around has been happening to the 
request before it reached it.

X-Received more obviously admits the possibility of having 
X-Received-Received, which is sort of the logical outcome if an upstream 
(closer to server) proxy decides to alter already altered headers. (not, 
mind you, that I am suggesting this as a practice, necessarily).

>  
> 
>     3. There could be a potential conflict with existing X- headers used
>     by some applications, and we'd rather choose a name that surely is
>     not used anywhere else: X-CT-Received for instance. Note that in all
>     cases, we cannot "register" the header as it's an experimental one.
> 
> 
> Is there any evidence that this header is in use anywhere other than CT 
> proxies?

I'd guess that since this is a question of practice, not theory, we can 
probably safely defer to members of the group who carry large amounts of 
such traffic "in the wild" today.

>  
> 
>     4. What is the CT-proxy supposed to do when it receives an
>     X-Device-<some header name> HTTP header?
> 
> 
> Presumably this would be an indication that transformation has already 
> occurred and we should consider passing the document unchanged?
> 
> Aaron

I think we have established the principle that "if one is good, two is 
better" is quite definitely _not_ the case so far as content 
transformation is concerned.

According to the current text, the downstream (closer to the client) 
proxy should have attempted to access the resource in question with 
unaltered headers in the first instance (modulo the user having 
specifically expressed a preference to do otherwise). So it seems to me 
that in this case it is the upstream proxy that gets the first and only 
shot at transformation - since it too must present the unaltered headers 
first, and then it gets the opportunity to present different headers.

In the case where the downstream proxy alters headers, because of 
specific user choice, then the upstream proxy should probably step aside 
- unless of course it is one that is operated by the CP on its own behalf.

A separate, but related question is whether the server needs to know 
which proxy has adjusted the headers? If the server sees two via headers 
both of which indicate that the proxy is capable of transformation, then 
how can it infer which of them has adjusted the headers (assuming that 
we are clear that only one of them should ever have done so).

Jo

Received on Monday, 2 June 2008 10:41:36 UTC