RE: [W3C BPWG] HTTP header fields X-* and normal ones / question

> -----Original Message-----
> From: ietf-http-wg-request@w3.org [mailto:ietf-http-wg-request@w3.org]
> On Behalf Of eduardo.casais@areppim.com
> Sent: Wednesday, January 21, 2009 2:45 PM
> To: ietf-http-wg@w3.org
> Subject: Re: [W3C BPWG] HTTP header fields X-* and normal ones /
> question
>
> Application servers in the mobile Web are highly dependent
> on the Accept-* and User-Agent fields to generate content
> that matches the capabilities of the terminal issuing the
> request. In particular, the User-Agent serves as identifier
> to retrieve information about, for instance, screen dimensions,
> acceptable page size, browser quirks, from terminal capability
> databases.
>
> Content transformation proxies that intend to convert desktop
> Web content to mobile Web content alter these capability
> fields to appear as a normal desktop browser (e.g. IE, Firefox),
> but send the backup fields (X-Device-*) along for two reasons:

This makes no sense. What you describe is:

1. Mobile Client --(request with device specific headers)--> Proxy
2. Proxy --(request with desktop/generic headers)--> Server
3. Server --(response with desktop/generic/?? representation)--> Proxy
4. Proxy --(transformed response into device specific)--> Mobile Client

The proxy should keep track of what the client requests, get whatever content from the server, adjust that content to the capabilities of the device (regardless of what capabilities the server intended to support), and send it back. The proxy's role is to transform the representation to a device-friendly one, so why does it need to preserve the original headers?

> 1. It is impossible a priori to determine reliably whether
> the target server returns desktop content or mobile content;
> and
> 2. servers of mobile Web applications require the original
> capabilities to adjust the content for the end terminal.

The proxy should keep track of what was requested locally. If the proxy is just a transformation agent, it should ask the server for the most appropriate representation for the device, and if the response isn't ideal, transform it. If the proxy also caches responses for a wide range of devices, it must always ask for the most generic representation and cache both that, and the transformed response per device type.

> If a mobile Web server receives the modified request without
> the backup fields, it will either fail to return a proper
> result (because the terminal appears to be a desktop), or
> produce a generic desktop-oriented page instead of a much
> more adequate mobile-optimized one.
>
> The question whether the transformation proxies should or
> should not modify the HTTP header fields in the first place
> is another question; we are considering the scenario where
> they do here.

Why?

EHL

Received on Thursday, 22 January 2009 16:52:07 UTC