Re: [apps-discuss] [alto] Review of draft-ietf-alto-protocol-11.txt

Richard Alimi <rich@velvetsea.net> Thu, 03 May 2012 05:23 UTC

Return-Path: <richard.alimi@gmail.com>
X-Original-To: apps-discuss@ietfa.amsl.com
Delivered-To: apps-discuss@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 76CA821F84CD; Wed, 2 May 2012 22:23:05 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.377
X-Spam-Level:
X-Spam-Status: No, score=-2.377 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, J_CHICKENPOX_23=0.6, RCVD_IN_DNSWL_LOW=-1]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id n8V9H3imZNNt; Wed, 2 May 2012 22:23:04 -0700 (PDT)
Received: from mail-gg0-f172.google.com (mail-gg0-f172.google.com [209.85.161.172]) by ietfa.amsl.com (Postfix) with ESMTP id 7CCB721F84C4; Wed, 2 May 2012 22:23:04 -0700 (PDT)
Received: by ggmi1 with SMTP id i1so187592ggm.31 for <multiple recipients>; Wed, 02 May 2012 22:23:04 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:from:date :x-google-sender-auth:message-id:subject:to:cc:content-type :content-transfer-encoding; bh=2bZ5O9dWMzE76JSWHbFTJK69UlfwOO2GLKpJnthNWW8=; b=BFAOYPW/Zb+ojCCOisI6sCqMgHtwmozRj8gDGJ9YRZuVlLT3feKPKrQhaulIu4RfN4 mOFeBrOCpvvadvd+ciDYE0gSQ64s0eoyfm3rXJh8mceeufOu9ZB4+fA0iYsCUs4i3o3Q sV1JU+TbXlopsOwBLJdyYHv2+hNCYEfD/Wt0wocwaxrpkAeugfJkAyxAKYypuFmfaOs6 EgYAR5iiXXJnDMHDCAhB4zSTURpU5eVQ25efdidNZVfw3GQxMYKsWSIsGJ0Mo2O4BEOy 1+vdugCvF8u/2GVH6fPG81zsHpHYl2dG05PW1xtanFFgzJccChvt4VFmsmCcDRtL22iv lgJw==
Received: by 10.50.45.197 with SMTP id p5mr461296igm.20.1336022583866; Wed, 02 May 2012 22:23:03 -0700 (PDT)
MIME-Version: 1.0
Sender: richard.alimi@gmail.com
Received: by 10.231.206.146 with HTTP; Wed, 2 May 2012 22:22:43 -0700 (PDT)
In-Reply-To: <4DC76AEC-2DCE-4DE4-B92C-C37F160DA7FF@niven-jenkins.co.uk>
References: <CA+9kkMB4nUayYO3q8ydj477jh9NM8oZyXAQ5k-NsRN=KHjb3cA@mail.gmail.com> <2DE7DDDA-6621-4E56-BD3D-1173833E672B@niven-jenkins.co.uk> <CA+9kkMApj1dPNn+0Uiz9iRPBhk3Px9kj-nP+Z+UGsjxoqY82eg@mail.gmail.com> <98BA299A-18E0-412C-A005-754F336E1620@niven-jenkins.co.uk> <CADOmCZXkF=Qc46x7+00KmB+y2q4Rm6xku2Q40YBQtsp4QeuqQQ@mail.gmail.com> <30166A91-3C02-48F7-8C3B-179DA770138C@niven-jenkins.co.uk> <4DC76AEC-2DCE-4DE4-B92C-C37F160DA7FF@niven-jenkins.co.uk>
From: Richard Alimi <rich@velvetsea.net>
Date: Wed, 02 May 2012 22:22:43 -0700
X-Google-Sender-Auth: 15k_gtreUUrW-7CkbEFf6vGG6Ck
Message-ID: <CA+cvDaYUt+T2mpk5ijSvR3onyoeYPbjUnyZhXhUC_3J45QJQmw@mail.gmail.com>
To: Ben Niven-Jenkins <ben@niven-jenkins.co.uk>
Content-Type: text/plain; charset="ISO-8859-1"
Content-Transfer-Encoding: quoted-printable
Cc: Richard Alimi <ralimi@google.com>, draft-ietf-alto-protocol.all@tools.ietf.org, alto <alto@ietf.org>, apps-discuss@ietf.org
Subject: Re: [apps-discuss] [alto] Review of draft-ietf-alto-protocol-11.txt
X-BeenThere: apps-discuss@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: General discussion of application-layer protocols <apps-discuss.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/apps-discuss>, <mailto:apps-discuss-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/apps-discuss>
List-Post: <mailto:apps-discuss@ietf.org>
List-Help: <mailto:apps-discuss-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/apps-discuss>, <mailto:apps-discuss-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 03 May 2012 05:23:05 -0000

On Wed, May 2, 2012 at 12:29 PM, Ben Niven-Jenkins
<ben@niven-jenkins.co.uk> wrote:
> cc'ing ALTO as Vijay suggested. Ben
>
> On 2 May 2012, at 20:24, Ben Niven-Jenkins wrote:
>
>> Rich, Ted,
>>
>> On 2 May 2012, at 18:49, Richard Alimi wrote:
>>
>>> On Wed, May 2, 2012 at 10:39 AM, Ben Niven-Jenkins
>>> <ben@niven-jenkins.co.uk> wrote:
>>>>
>>>> On 2 May 2012, at 17:28, Ted Hardie wrote:
>>>>>
>>>>> It is not the cacheability of the results of post request that I was
>>>>> referring to, but
>>>>> the cacheability of the results of a 303.
>>>>
>>>> Ah, I see. Yes I see your issue with the text now.
>>>>
>>>> I believe there is an implicit assumption on the part of the authors that in this model (receive a POST and return a 303) that the ALTO server could be doing some level of "ALTO-application level caching" to avoid repeating expensive queries by determining that a given POST would execute the same query as a previous POST and therefore rather than run the query again, just return a 303 to a resource on the ALTO server that contains the results of the previous (identical) query.
>>>>
>>>
>>> The word 'caching' was meant to apply to the response the ALTO Client
>>> that actually contained the data it was looking for (that is, the
>>> following GET).  An ALTO Server could also internally cache the
>>> results to avoid repeated computation, but that was meant to be
>>> implicit since this text was referring to the protocol messaging.
>>>
>>> I understand Ted's point about the ambiguity in the text 'employ
>>> caching for the response to a POST request'.  We can clean that up to
>>> indicate that the caching is for the ALTO-level response (as returned
>>> by the following GET) and not the response to the POST itself.
>>>
>>>> But as I'm not an author I'll crawl back under my rock now.
>>>
>>> No - come back! :)
>>
>> As you asked so nicely, I wonder if the following (slightly wordy) change would address Ted's comment:
>>
>> OLD:
>>   Note that it is possible for an ALTO Server to employ caching for the
>>   response to a POST request.  This can be accomplished by returning an
>>   HTTP 303 status code ("See Other") indicating to the ALTO Client that
>>   the resulting Cost Map is available via a GET request to an alternate
>>   URL (which may be cached).
>> NEW:
>> Note that it is possible for an ALTO Server to leverage caching HTTP intermediaries for responses to both GET and POST requests by including explicit freshness information (see Section 2.3.1 of [HTTPBIS Part6]).
>>
>> Caching of POST requests is not widely implemented by HTTP intermediaries, however an alternative approach is for an ALTO Server, in response to POST requests, to return an HTTP 303 status code ("See Other") indicating to the ALTO Client that the resulting Cost Map is available via a GET request to an alternate URL. HTTP intermediaries that do not support caching of POST requests could then cache the response to the GET request from the ALTO Client following the alternate URL in the 303 response (if the response to the subsequent GET request contains explicit freshness information).
>> END

This seems reasonable to me, except would it be appropriate to have
this kind of document dependency?  Would it be more appropriate to
just reference RFC2616?

>>
>> Ted went on to say:
>>> Since cachability
>>> is a major reason cited for the re-use of HTTP, some additional text
>>> on the use cache control directives ("public" and "Max-age" seem
>>> particularly important in this context) might also be useful.
>>
>> I wonder whether a reference to Section 3.2 of HTTPBIS Part6 would suffice?

Once upon a time, we used to have more detail about how to use HTTP
(caching in particular) in the ALTO Protocol draft itself. The
recommendation at that point was to strip out the large majority of it
and rely on the reference to the HTTP specs being sufficient.

That said, any pointers to help out implementers are fine with me as
long as we don't to back to where we were before :)  A concise hint or
direct reference pointing to the cache control directives seems
reasonable to me unless there are objections.

Thanks for the feedback,
Rich

>>
>> Ben
>>
>> _______________________________________________
>> apps-discuss mailing list
>> apps-discuss@ietf.org
>> https://www.ietf.org/mailman/listinfo/apps-discuss
>
> _______________________________________________
> alto mailing list
> alto@ietf.org
> https://www.ietf.org/mailman/listinfo/alto