RE: Push and Caching
William Chow <wchow@mobolize.com> Thu, 21 August 2014 21:31 UTC
Return-Path: <ietf-http-wg-request@listhub.w3.org>
X-Original-To: ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com
Delivered-To: ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 8B2BE1A06FB for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Thu, 21 Aug 2014 14:31:09 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -7.57
X-Spam-Level:
X-Spam-Status: No, score=-7.57 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_HI=-5, RP_MATCHES_RCVD=-0.668, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001] autolearn=ham
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Ud8DthSNAHV8 for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Thu, 21 Aug 2014 14:31:06 -0700 (PDT)
Received: from frink.w3.org (frink.w3.org [128.30.52.56]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id CCB741A0108 for <httpbisa-archive-bis2Juki@lists.ietf.org>; Thu, 21 Aug 2014 14:31:05 -0700 (PDT)
Received: from lists by frink.w3.org with local (Exim 4.72) (envelope-from <ietf-http-wg-request@listhub.w3.org>) id 1XKZu1-0005FF-Et for ietf-http-wg-dist@listhub.w3.org; Thu, 21 Aug 2014 21:28:13 +0000
Resent-Date: Thu, 21 Aug 2014 21:28:13 +0000
Resent-Message-Id: <E1XKZu1-0005FF-Et@frink.w3.org>
Received: from maggie.w3.org ([128.30.52.39]) by frink.w3.org with esmtp (Exim 4.72) (envelope-from <wchow@mobolize.com>) id 1XKZtf-0005ES-Mh for ietf-http-wg@listhub.w3.org; Thu, 21 Aug 2014 21:27:51 +0000
Received: from mail-bn1lp0142.outbound.protection.outlook.com ([207.46.163.142] helo=na01-bn1-obe.outbound.protection.outlook.com) by maggie.w3.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.72) (envelope-from <wchow@mobolize.com>) id 1XKZtd-0000CA-NM for ietf-http-wg@w3.org; Thu, 21 Aug 2014 21:27:51 +0000
Received: from DM2PR05MB670.namprd05.prod.outlook.com (10.141.176.22) by DM2PR05MB670.namprd05.prod.outlook.com (10.141.176.22) with Microsoft SMTP Server (TLS) id 15.0.1010.18; Thu, 21 Aug 2014 21:27:19 +0000
Received: from DM2PR05MB670.namprd05.prod.outlook.com ([10.141.176.22]) by DM2PR05MB670.namprd05.prod.outlook.com ([10.141.176.22]) with mapi id 15.00.1010.016; Thu, 21 Aug 2014 21:27:19 +0000
From: William Chow <wchow@mobolize.com>
To: Mark Nottingham <mnot@mnot.net>, Martin Thomson <martin.thomson@gmail.com>
CC: Mike Bishop <Michael.Bishop@microsoft.com>, HTTP Working Group <ietf-http-wg@w3.org>
Thread-Topic: Push and Caching
Thread-Index: Ac+7v7yD0ZTj4Oj/Q2KCGy9THej6JgAEtB4AABO1Y4AAWKDXwA==
Date: Thu, 21 Aug 2014 21:27:18 +0000
Message-ID: <920b92b90a3c47ef8d450c903b83af40@DM2PR05MB670.namprd05.prod.outlook.com>
References: <dc3d860ecb4b4d408a5ed0519a036e61@BL2PR03MB132.namprd03.prod.outlook.com> <CABkgnnWvKgyDcm-1jEKZUA2Qza9M46X+X_QybwuqRwvSUrTjNw@mail.gmail.com> <B6B89855-237F-44DA-B29C-2A3BB5CE0EED@mnot.net>
In-Reply-To: <B6B89855-237F-44DA-B29C-2A3BB5CE0EED@mnot.net>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [96.251.72.195]
x-microsoft-antispam: BCL:0;PCL:0;RULEID:;UriScan:;
x-forefront-prvs: 0310C78181
x-forefront-antispam-report: SFV:NSPM; SFS:(6009001)(189002)(199003)(377454003)(24454002)(51444003)(13464003)(51704005)(19580405001)(74316001)(19580395003)(76176999)(50986999)(83322001)(79102001)(80022001)(76482001)(54356999)(20776003)(46102001)(90102001)(66066001)(64706001)(85852003)(86362001)(77982001)(81342001)(74502001)(85306004)(106356001)(15202345003)(99286002)(105586002)(81542001)(33646002)(76576001)(95666004)(108616004)(74662001)(2656002)(15975445006)(101416001)(21056001)(87936001)(83072002)(107046002)(92566001)(31966008)(4396001)(99396002)(7059008)(24736002); DIR:OUT; SFP:; SCL:1; SRVR:DM2PR05MB670; H:DM2PR05MB670.namprd05.prod.outlook.com; FPR:; MLV:sfv; PTR:InfoNoRecords; MX:1; A:1; LANG:en;
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: mobolize.com
Received-SPF: pass client-ip=207.46.163.142; envelope-from=wchow@mobolize.com; helo=na01-bn1-obe.outbound.protection.outlook.com
X-W3C-Hub-Spam-Status: No, score=-3.5
X-W3C-Hub-Spam-Report: AWL=-3.450, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001
X-W3C-Scan-Sig: maggie.w3.org 1XKZtd-0000CA-NM e53d9c4875b114e3c6fccc370437b2bb
X-Original-To: ietf-http-wg@w3.org
Subject: RE: Push and Caching
Archived-At: <http://www.w3.org/mid/920b92b90a3c47ef8d450c903b83af40@DM2PR05MB670.namprd05.prod.outlook.com>
Resent-From: ietf-http-wg@w3.org
X-Mailing-List: <ietf-http-wg@w3.org> archive/latest/26697
X-Loop: ietf-http-wg@w3.org
Resent-Sender: ietf-http-wg-request@w3.org
Precedence: list
List-Id: <ietf-http-wg.w3.org>
List-Help: <http://www.w3.org/Mail/>
List-Post: <mailto:ietf-http-wg@w3.org>
List-Unsubscribe: <mailto:ietf-http-wg-request@w3.org?subject=unsubscribe>
The discussion on "matching hint responses to requests" imply that pushed/prefetched responses need "navigation context" or a "document wide cache" to avoid having an HTTP2 layer unnecessarily revalidate just-pushed responses. While this might be possible for a browser/UA (although it implies coordination b/t the HTML and HTTP layers in that UA), this seems impractical for a proxy. IOW, a proxy would only have limited context (e.g. Referer?) to avoid unnecessarily revalidating just-pushed responses. So, am I understanding that correctly, or have I missed something? --Will -----Original Message----- From: Mark Nottingham [mailto:mnot@mnot.net] Sent: Tuesday, August 19, 2014 7:50 PM To: Martin Thomson Cc: Mike Bishop; HTTP Working Group Subject: Re: Push and Caching So, in that change I was just trying to be clear about what "cacheable" meant; note that in the original text, it linked to *response* cacheability in RFC7234, not request. Mike, for your use case, CC: no-cache *is* cacheable; it just needs to be revalidated before reuse. See <http://httpwg.github.io/specs/rfc7234.html#response.cacheability> and <http://httpwg.github.io/specs/rfc7234.html#cache-response-directive> Things get a bit nasty here because we don't define the scope of validity for a newly-pushed response, but we could nail that down with a bit of work, I think. If we want to be able to push *truly* uncacheable responses (e.g., CC: no-store), we could say that a) cacheable pushed responses SHOULD be stored by caches, whereas uncacheable pushed responses MAY be consumed by the receiving application or discarded. This makes me a bit nervous, as HTTP/2 isn't chartered to create new HTTP semantics, and that's sailing awfully close to the wind... Regardless, we need to be a bit more careful with words there, since response cacheability is partially determined by whether the cache is shared, and the server generating the response can't know the nature of downstream caches. I'll try to come up with an improvement in a pull request. BTW, this all ties up really closely with what the application does *after* the HTTP cache in browsers; this is all only roughly specified at the moment, see: https://github.com/igrigorik/resource-hints/issues/5 https://www.w3.org/Bugs/Public/show_bug.cgi?id=26350 Cheers, On 20 Aug 2014, at 3:25 am, Martin Thomson <martin.thomson@gmail.com> wrote: > On 19 August 2014 08:21, Mike Bishop <Michael.Bishop@microsoft.com> wrote: >> I missed when that change happened. Can someone with better git-fu >> remind me? Was there list discussion? > > https://github.com/http2/http2-spec/commit/3cec55e8 > > The change title: untangle relationship between pushing, promising, > and caching > > - A server can only push responses that are cacheable (see > <xref target="HTTP-p6" x:fmt="," > - x:rel="#response.cacheability"/>); promised requests MUST > be safe (see <xref > - target="HTTP-p2" x:fmt="," x:rel="#safe.methods"/>) and > MUST NOT include a request body. > + A server can only push requests that are safe (see <xref > target="HTTP-p2" x:fmt=","^M > + x:rel="#safe.methods"/>), cacheable (see <xref > target="HTTP-p6" x:fmt=","^M > + x:rel="#response.cacheability"/>) and do not include a > request body.^M > > This was part of what was intended to be an editorial fix, along with > a large bunch of other edits > (https://github.com/http2/http2-spec/commits/master?page=18) and I > missed the subtle, but substantive change in the midst of the rest. > > I think that the `Cache-Control: nocache` response is a useful > feature. I do remember being careful to permit uncacheable responses, > knowing that this would be an important use case. I want to be able > to use push to trivially replace long-polling and this would help with > that. > > Maybe Mark can defend his change. -- Mark Nottingham https://www.mnot.net/
- Push and Caching Mike Bishop
- Re: Push and Caching Martin Thomson
- Re: Push and Caching Greg Wilkins
- Re: Push and Caching Martin Thomson
- Re: Push and Caching Mark Nottingham
- RE: Push and Caching William Chow
- RE: Push and Caching Mike Bishop
- Re: Push and Caching Patrick McManus
- Re: Push and Caching Mark Nottingham
- Re: Push and Caching Martin Thomson
- RE: Push and Caching Mike Bishop
- Re: Push and Caching Martin Thomson
- RE: Push and Caching Mike Bishop
- Re: Push and Caching Mark Nottingham
- Re: Push and Caching Greg Wilkins
- Re: Push and Caching Mark Nottingham
- Re: Push and Caching Mark Nottingham
- Re: Push and Caching Martin Thomson
- Re: Push and Caching Mark Nottingham
- Re: Push and Caching Martin Thomson
- Re: Push and Caching Mark Nottingham
- Re: Push and Caching Greg Wilkins
- RE: Push and Caching William Chow
- Re: Push and Caching Mark Nottingham
- RE: Push and Caching William Chow
- Re: Push and Caching Matthew Kerwin
- Re: Push and Caching Mark Nottingham
- Re: Push and Caching Chris Drechsler
- Re: Push and Caching Roy T. Fielding
- Re: Push and Caching Roy T. Fielding
- Re: Push and Caching Martin Thomson
- Re: Push and Caching Roy T. Fielding
- Re: Push and Caching Michael Sweet
- RE: Push and Caching William Chow
- Re: Push and Caching Martin Thomson
- Re: Push and Caching Martin Thomson
- Re: Push and Caching Roy T. Fielding
- RE: Push and Caching William Chow
- Re: Push and Caching Greg Wilkins
- Re: Push and Caching Greg Wilkins
- Re: Push and Caching Martin Thomson
- Re: Push and Caching Greg Wilkins