- From: Bence Béky <bnc@chromium.org>
- Date: Wed, 1 Apr 2015 08:11:14 -0400
- To: Martin Thomson <martin.thomson@gmail.com>
- Cc: HTTP <ietf-http-wg@w3.org>
Hi Martin, On Tue, Mar 31, 2015 at 6:22 PM, Martin Thomson <martin.thomson@gmail.com> wrote: > You could send a redirect-to-self value without changing the grammar > too. Or you could set the max-age to 0. Or both. I do agree with you that either of these could be agreed on as valid ways to reset alternative services. I don't particularily like them from an implementation viewpoint. The seft-redirect because if your client implementation does not specifically prepare for this case, it might end up racing two connections to the same server. The second option because if your client implementation does not specifically prepare for this, it might treat the header as invalid if the max-age is 0, or use its preferred default like one day, depending on the mood of the implementer. RFC 7234 Section 4.2.3 says about age that it's "0, if not available", but this usage is not "not available", but "special meaning: this is a valid alternative service with is a placeholder for null alternative service". I would not be terribly unhappy if concensus was to use one of these hacks, but given these caveats, I believe it would still be necessary to explicitly spell out this use in the specification. I think the simplest way to say "the alternative services for this origin is the following list: {empty list}" is to say "{empty list}" instead of "{one item identical to origin, which is understood to have the special meaning that it's an empty list}" or "{one item with valid but arbitrary port and a special, otherwise unused value for ma, which is understood to have the special meaning that it's an empty list}". And what if the header or frame contains two alternative services, one of them the special value (identical to origin or having ma=0), the other a valid alternative? The empty list placeholder value is ignored and makes previously discovered alternative services cleared, but should the other alternative service one be dropped on the floor or added to the list? Or does it depend on the order? Undefined? Thanks, Bence
Received on Wednesday, 1 April 2015 12:12:08 UTC