- From: Erik Nygren <erik@nygren.org>
- Date: Tue, 19 Aug 2014 18:09:16 -0400
- To: Martin Thomson <martin.thomson@gmail.com>
- Cc: Julian Reschke <julian.reschke@gmx.de>, HTTP Working Group <ietf-http-wg@w3.org>
- Message-ID: <CAKC-DJiD6_3SZd-k7FXCcwuA4AK7kXVupqXuy2+XuQKWtqP2xA@mail.gmail.com>
On Tue, Aug 19, 2014 at 1:14 PM, Martin Thomson <martin.thomson@gmail.com>
wrote:
> I'm not certain about this. More from an architectural standpoint
> than anything else. Conceptually, alternative services is build on
> the idea that there are multiple potential sources of information.
> We've defined two, but there are also potentially other avenues (DNS,
> for instance).
I'd actually been thinking that the record set model might actually more
consistent with multiple avenues of data.
For example, DNS records come in an RRset as a unit which could be added
fairly cleanly to the set received
from the origin. In that world, (origin, data_source) would be the key,
such that each data source would
update its set. This likely does bring the priority/ordering discussion
back into play regardless of how it is
approached (ie, which get priority beyond client choice).
I don't think that this is annoying to implement at all. Simply find
> the entry that matches, create one if none exists, and update its time
> to match. It also keeps independent header field processing simpler.
> You don't have to worry that another Alt-Svc header field might appear
> in the block before you act.
>
I'd think this would be painful for clients. If a server emits a series
of ALTSVC frames with multiple choices, does the client buffer up
or wait some before it starts making connections? With a set of options
it becomes much more clear when the client can start taking action
without needing to worry about thrashing.
Additionally, how does a server remove/replace an ALTSVC record it set
previously without waiting for a TTL expiration? There isn't enough data
in Alt-Svc-Used for servers to know which values clients may have in their
cache so without set replacement it's unclear how a server would remove
or replace an entry.
Erik
Received on Tuesday, 19 August 2014 22:09:44 UTC