Re: dont-revalidate Cache-Control header
Bryan McQuade <bmcquade@google.com> Mon, 13 July 2015 23:54 UTC
Return-Path: <ietf-http-wg-request+bounce-httpbisa-archive-bis2juki=lists.ie@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 17BA71A87E0 for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Mon, 13 Jul 2015 16:54:03 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.389
X-Spam-Level:
X-Spam-Status: No, score=-6.389 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_HI=-5, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, T_RP_MATCHES_RCVD=-0.01] 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 2quFXva3lnOk for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Mon, 13 Jul 2015 16:54:01 -0700 (PDT)
Received: from frink.w3.org (frink.w3.org [128.30.52.56]) (using TLSv1.2 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 1EFA91A87D2 for <httpbisa-archive-bis2Juki@lists.ietf.org>; Mon, 13 Jul 2015 16:54:00 -0700 (PDT)
Received: from lists by frink.w3.org with local (Exim 4.80) (envelope-from <ietf-http-wg-request@listhub.w3.org>) id 1ZEnTy-0007a9-7o for ietf-http-wg-dist@listhub.w3.org; Mon, 13 Jul 2015 23:49:58 +0000
Resent-Date: Mon, 13 Jul 2015 23:49:58 +0000
Resent-Message-Id: <E1ZEnTy-0007a9-7o@frink.w3.org>
Received: from lisa.w3.org ([128.30.52.41]) by frink.w3.org with esmtps (TLS1.2:DHE_RSA_AES_128_CBC_SHA1:128) (Exim 4.80) (envelope-from <bmcquade@google.com>) id 1ZEnTu-0007ZN-9C for ietf-http-wg@listhub.w3.org; Mon, 13 Jul 2015 23:49:54 +0000
Received: from mail-wi0-f175.google.com ([209.85.212.175]) by lisa.w3.org with esmtps (TLS1.2:RSA_ARCFOUR_SHA1:128) (Exim 4.80) (envelope-from <bmcquade@google.com>) id 1ZEnTs-0007bd-Ei for ietf-http-wg@w3.org; Mon, 13 Jul 2015 23:49:53 +0000
Received: by widjy10 with SMTP id jy10so83781500wid.1 for <ietf-http-wg@w3.org>; Mon, 13 Jul 2015 16:49:26 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=mime-version:from:date:message-id:subject:to:content-type; bh=zIc8en4Q0rS6pHwCUP9ka2ubt6MgJKWx4NJa5aRni+c=; b=ONyDyfVldtMvJbAuSlmP5TX/k8Ggq1bpePNN/Z1chNTUE9AhNb84MK0zJU+SlyKvmA atq7wsAmyiUau3IquFKmljJqN82ZU8EZMFGBy6d0ZtAy/FmcudrVX7aUiNHiaQAlAGth avREace3s0UFuHhY6AVGsSpLpgv68Xa+zrslv9ZbH3A3aBUeLPGvm81lz+L+sZCqWNbt 1HiG03Cr99MXkKyv0Iv41+I8kGXoZ+piwj6HvYxMuv28tfZ7cvKDnT3HZgsWzv6V21ja rwE0Y2LTAacpLaQvQzhwQBddY6mmcuI1LYiCNatfUF0Uhn+ym01meW+3/R4q0UbSGFeR 4lCQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:from:date:message-id:subject:to :content-type; bh=zIc8en4Q0rS6pHwCUP9ka2ubt6MgJKWx4NJa5aRni+c=; b=WBR6ZErmnBHrpXHznqhqzY3jxxe2aUBFMLiIoNNU5wRr6x1lWQ7vOFZUVlObnzCJ4N 7CyMRmvhw4nNIDWAda0mGLxF2PzKsv96A3YFjssuRWYy+QIhCZ1m1nY7ARB5lsm14sz6 9UPLrjMQfPX4SidTaw7dX7Z8CIW4ZdlHYY66jMnEBCivexgb0wsfvpncmC5sH/br1OXh u6tH6QJMK7/mrmkn7iB597OpeXkwUG9F0jd1eOgKLuH6yOPNB1nIZC5MIiReM+31pesP pUDojFwWkHugfmSVigQC6uVnl7WarckMF8vXtFG5rzfyCgrpcLQHU8zIBAP104bSMpX/ OyzA==
X-Gm-Message-State: ALoCoQkd2fvEkYINK/aHddJ0ReSis3UR4Gr1K3omuvBdRH4nxacTQnpoWXOzO055/5RxdB5cDXr+
X-Received: by 10.180.218.227 with SMTP id pj3mr27401996wic.59.1436831365898; Mon, 13 Jul 2015 16:49:25 -0700 (PDT)
MIME-Version: 1.0
From: Bryan McQuade <bmcquade@google.com>
Date: Mon, 13 Jul 2015 23:49:16 +0000
Message-ID: <CADLGQyCv5bjKswZJ=uyvbJLcgs96fvAOzs+2SNDkApBNLm3ZqA@mail.gmail.com>
To: ietf-http-wg@w3.org
Content-Type: multipart/alternative; boundary="001a1134cd382adc6e051aca5f79"
Received-SPF: pass client-ip=209.85.212.175; envelope-from=bmcquade@google.com; helo=mail-wi0-f175.google.com
X-W3C-Hub-Spam-Status: No, score=-6.2
X-W3C-Hub-Spam-Report: AWL=-0.103, BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, RP_MATCHES_RCVD=-1.428, SPF_PASS=-0.001, W3C_AA=-1, W3C_WL=-1
X-W3C-Scan-Sig: lisa.w3.org 1ZEnTs-0007bd-Ei 9c38324140ac527b87613b1af8834f41
X-Original-To: ietf-http-wg@w3.org
Subject: Re: dont-revalidate Cache-Control header
Archived-At: <http://www.w3.org/mid/CADLGQyCv5bjKswZJ=uyvbJLcgs96fvAOzs+2SNDkApBNLm3ZqA@mail.gmail.com>
Resent-From: ietf-http-wg@w3.org
X-Mailing-List: <ietf-http-wg@w3.org> archive/latest/29947
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>
Some history around page refresh->subresource reload browser behavior: HTTP/1.1 RFC (now deprecated): http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9.4 "14.9.4 Cache Revalidation and Reload Controls: Sometimes a user agent might want or need to insist that a cache revalidate its cache entry with the origin server ... End-to-end revalidation might be necessary if either the cache or the origin server has overestimated the expiration time of the cached response. End-to-end reload may be necessary if the cache entry has become corrupted for some reason." I take the above to suggest that the page refresh->reload subresource behavior was added to give users more certainty that refreshing a page would reload any corrupted or out of date resources. This seems like a fine default, but I agree with Ben that it'd be useful to allow web developers to opt out of this behavior. In order to opt out, we need to address the issues listed in the RFC: a) if either the cache or the origin server has overestimated the expiration time of the cached response b) if the cache entry has become corrupted For (a): Will proxy caches add future max-age or Expires headers to resources that they fetched from an origin, if the origin didn't provide any such headers? For (b): The user agent should be able to assert that the copy of the resource it has is the 'right' copy, and not a corrupted copy, before deciding not to attempt to reload the resource from the origin server. RE: whether this mechanism should be associated with the resource vs the page being loaded, I prefer associating the behavior with the resource (via e.g. an HTTP response header or Cache-Control directive). If associated with the resource rather than the page, third party resources (ads/analytics/widgets/etc), which add latency to many page loads, could also adopt this and prevent resource reloads on page refresh. -bryan
- dont-revalidate Cache-Control header Ben Maurer
- Re: dont-revalidate Cache-Control header Amos Jeffries
- Re: dont-revalidate Cache-Control header Ben Maurer
- Re: dont-revalidate Cache-Control header Zhong Yu
- Re: dont-revalidate Cache-Control header Ben Maurer
- Re: dont-revalidate Cache-Control header Mark Nottingham
- Re: dont-revalidate Cache-Control header Ben Maurer
- Re: dont-revalidate Cache-Control header Adam Rice
- Re: dont-revalidate Cache-Control header Ben Maurer
- Re: dont-revalidate Cache-Control header Ilya Grigorik
- Re: dont-revalidate Cache-Control header Bryan McQuade
- Re: dont-revalidate Cache-Control header Amos Jeffries
- Re: dont-revalidate Cache-Control header Ben Maurer
- Re: dont-revalidate Cache-Control header Ben Maurer
- Re: dont-revalidate Cache-Control header Mark Nottingham
- Re: dont-revalidate Cache-Control header Ben Maurer
- Re: dont-revalidate Cache-Control header Ilya Grigorik
- Re: dont-revalidate Cache-Control header Roy T. Fielding
- Re: dont-revalidate Cache-Control header Ilya Grigorik
- Re: dont-revalidate Cache-Control header Guille -bisho-
- Re: dont-revalidate Cache-Control header Martin Thomson
- Re: dont-revalidate Cache-Control header Guille -bisho-
- Re: dont-revalidate Cache-Control header Ben Maurer
- Re: dont-revalidate Cache-Control header Amos Jeffries
- Re: dont-revalidate Cache-Control header Mark Nottingham
- Re: dont-revalidate Cache-Control header Mark Nottingham
- Re: dont-revalidate Cache-Control header Ben Maurer
- Re: dont-revalidate Cache-Control header Mark Nottingham
- Re: dont-revalidate Cache-Control header Ben Maurer
- Re: dont-revalidate Cache-Control header Amos Jeffries
- Re: dont-revalidate Cache-Control header Ben Maurer
- Re: dont-revalidate Cache-Control header Guille -bisho-
- Re: dont-revalidate Cache-Control header Ben Maurer
- Re: dont-revalidate Cache-Control header Martin Thomson
- Re: dont-revalidate Cache-Control header Guille -bisho-
- Re: dont-revalidate Cache-Control header Martin Thomson
- Re: dont-revalidate Cache-Control header Guille -bisho-
- Re: dont-revalidate Cache-Control header Martin Thomson
- Re: dont-revalidate Cache-Control header Guille -bisho-
- Re: dont-revalidate Cache-Control header Roy T. Fielding
- Re: dont-revalidate Cache-Control header Ben Maurer
- Re: dont-revalidate Cache-Control header Guille -bisho-
- Re: dont-revalidate Cache-Control header Amos Jeffries
- Re: dont-revalidate Cache-Control header Guille -bisho-
- Re: dont-revalidate Cache-Control header Amos Jeffries