Re: #290: Motivate one-year limit for Expires

Willy Tarreau <w@1wt.eu> Sun, 24 July 2011 18:07 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 (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 8054A21F859E for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Sun, 24 Jul 2011 11:07:05 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -9.297
X-Spam-Level:
X-Spam-Status: No, score=-9.297 tagged_above=-999 required=5 tests=[AWL=1.302, BAYES_00=-2.599, RCVD_IN_DNSWL_HI=-8]
Received: from mail.ietf.org ([64.170.98.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id pWdT5pP5lyWB for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Sun, 24 Jul 2011 11:07:05 -0700 (PDT)
Received: from frink.w3.org (frink.w3.org [128.30.52.56]) by ietfa.amsl.com (Postfix) with ESMTP id E44E221F853A for <httpbisa-archive-bis2Juki@lists.ietf.org>; Sun, 24 Jul 2011 11:07:04 -0700 (PDT)
Received: from lists by frink.w3.org with local (Exim 4.69) (envelope-from <ietf-http-wg-request@listhub.w3.org>) id 1Ql34Y-0000Bi-9N for ietf-http-wg-dist@listhub.w3.org; Sun, 24 Jul 2011 18:06:38 +0000
Received: from maggie.w3.org ([128.30.52.39]) by frink.w3.org with esmtp (Exim 4.69) (envelope-from <w@1wt.eu>) id 1Ql34R-00009N-In for ietf-http-wg@listhub.w3.org; Sun, 24 Jul 2011 18:06:31 +0000
Received: from 1wt.eu ([62.212.114.60]) by maggie.w3.org with esmtp (Exim 4.72) (envelope-from <w@1wt.eu>) id 1Ql34P-0000NH-Lm for ietf-http-wg@w3.org; Sun, 24 Jul 2011 18:06:31 +0000
Received: (from willy@localhost) by mail.home.local (8.14.4/8.14.4/Submit) id p6OI657d026951; Sun, 24 Jul 2011 20:06:05 +0200
Date: Sun, 24 Jul 2011 20:06:05 +0200
From: Willy Tarreau <w@1wt.eu>
To: Mark Nottingham <mnot@mnot.net>
Cc: HTTP Working Group <ietf-http-wg@w3.org>
Message-ID: <20110724180605.GV22405@1wt.eu>
References: <891657B9-2F11-43D6-A9A0-4C6663DAC127@mnot.net> <20110724175303.GU22405@1wt.eu> <6F86A490-84EA-4CD3-925D-BD39A23E79FE@mnot.net>
Mime-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <6F86A490-84EA-4CD3-925D-BD39A23E79FE@mnot.net>
User-Agent: Mutt/1.4.2.3i
Received-SPF: pass client-ip=62.212.114.60; envelope-from=w@1wt.eu; helo=1wt.eu
X-W3C-Hub-Spam-Status: No, score=-3.1
X-W3C-Hub-Spam-Report: BAYES_00=-1.9, RP_MATCHES_RCVD=-1.193, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001
X-W3C-Scan-Sig: maggie.w3.org 1Ql34P-0000NH-Lm c14aef08ff038ac8d8bd94fdd37ba8d6
X-Original-To: ietf-http-wg@w3.org
Subject: Re: #290: Motivate one-year limit for Expires
Archived-At: <http://www.w3.org/mid/20110724180605.GV22405@1wt.eu>
Resent-From: ietf-http-wg@w3.org
X-Mailing-List: <ietf-http-wg@w3.org> archive/latest/11050
X-Loop: ietf-http-wg@w3.org
Sender: ietf-http-wg-request@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>
Resent-Message-Id: <E1Ql34Y-0000Bi-9N@frink.w3.org>
Resent-Date: Sun, 24 Jul 2011 18:06:38 +0000

On Sun, Jul 24, 2011 at 01:55:11PM -0400, Mark Nottingham wrote:
> 
> On 24/07/2011, at 1:53 PM, Willy Tarreau wrote:
> 
> > Hi Mark,
> > 
> > On Sun, Jul 24, 2011 at 01:46:27PM -0400, Mark Nottingham wrote:
> >> <http://trac.tools.ietf.org/wg/httpbis/trac/ticket/290>
> >> 
> >> In p6 3.3,
> >> 
> >> A server SHOULD NOT send Expires dates more than one year in the future.
> >> 
> >> I did some asking around, and it seems like the idea behind this was that an Expires so far in the future was felt to be more often the sign of bad clocks or administrator error than an intention for such a long TTL (considering that pretty much any eviction algorithm would get rid of it far beforehand).
> >> 
> >> So, I propose we remove the requirement and replace it with something like:
> >> 
> >> """
> >> Historically, HTTP required the Expires field-value to be no more than a year in the future. While longer freshness lifetimes are no longer prohibited, extremely large values have been demonstrated to cause problems (e.g., clock overflows), and senders ought not produce them.
> >> """
> > 
> > But if more than one year is often the cause of a config error or bad clock,
> > shouldn't we suggest that destinations ignore the large value instead ?
> 
> 
> Why should they ignore if they don't have the problem?

How can they know whether there is a problem ? Let's imagine that my server
is set one year in the future and emits Expires dates one year and a month
away. What I understand is that people were suggesting that more than one
year was a sign of misconfiguration which is the case here. So probably that
ignoring the date is easier to recover from than keeping the object in cache
for that long.

> Besides which, this would be introducing a requirement that makes several previously conformant implementations non-conformant. 

Well, not exactly since in the past it was a SHOULD NOT, so we don't know
how recipients consider larger values (some may already decide to ignore
them or to bound them to 1 year), which is the spirit of your proposal
anyway.

I feel like two distinct issues are being discussed here :
  - how to avoid recipient's wrong behaviour
  - how to deal with an error at the server's

I was dicussing the second point but you appear to be discussing the former
(which I agree with).

Maybe the second point is so marginal that it can safely be ignored ?

Regards,
Willy