- From: Robert Brewer <fumanchu@aminus.org>
- Date: Sat, 18 Aug 2007 11:13:34 -0700
- To: "Stefanos Harhalakis" <v13@priest.com>
- Cc: <ietf-http-wg@w3.org>
- Message-ID: <9BBC2D2B2CCF7E4DA0E212D1BD0CC6FA1FEEB6@ex10.hostedexchange.local>
Stefanos Harhalakis wrote:
> 'extension-header' was a poorly chosen phrase. I didn't
> new it existed in RFC2626, but it seems that is matches :-)
Well, now you know it's there. So use it. ;)
> After all it is not wise to say:
> "It seems that a part of web scripts could benefit from the
> 'Timezone' header. Lets send it to everyone, just to be sure."
No problem. As the designer of application-specific extension
headers, that decision is up to you.
> I'm also considering the possibility that this method will
> be used by *both* ends to request additional headers.
> For example, if we could travel back in time and perform
> some changes, clients could be able to request the 'Server'
> and 'Date' headers on demand.
Again, no problem. My point is that that can all be handled
already by any cooperating servers and clients, and the
existing 'extension-header' is the way to do that:
"The extension-header mechanism allows additional entity-header
fields to be defined *without changing the protocol* ..."
Without changing the protocol:
* a server that wants a Timezone header can, today, send an
entity header in the response like "Header-Request: Timezone",
and clients that understand "Header-Request: Timezone"
can respond, or...
* servers can define their own "Timezone-Request" header
to do the same thing, or...
* Timezone-aware user-agents can send the "Timezone" header
everywhere, or...
* only to a preselected set of servers, or...
* response bodies could contain code (e.g. javascript) to add
a "Timezone" header to requests for specific URLs, or ...
* the user-agent could provide a means for the user to decide
whether to send the "Timezone" header, or...
* clients can send a "Header-Request: Date" entity header
in the request, or...
* a million other ways of organizing the flow.
But that can all be done without formalizing a new "Header-Request"
into the spec, because the spec already allows for header
extension in a generic fashion.
> Finally, I don't understand what you mean when saying:
> 'two extra messages for all parties'.
It's not critical to the point above. I was just pointing out
that your example required four messages when both parties
are Timezone-aware. There are other ways to structure the
flow so that no additional messages are needed. The beautiful
thing about the existing, generic extension-header mechanism
is that my application is free to be designed that way,
and yours is free to use more messages if you want them.
But those are workflow-level concerns (and solutions),
not protocol-level. So no change to the spec needed, and
indeed, changing the spec to add a new "Header-Request"
header would limit some of that freedom by canonicalizing
a single optional-header workflow (and a poor one,
but that can be argued elsewhere) when there's a benefit
to allowing many.
Robert Brewer
fumanchu@aminus.org
Received on Saturday, 18 August 2007 18:13:42 UTC