[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: bug#10147: HTTP "Expires" header should handle non-date values
From: |
Andy Wingo |
Subject: |
Re: bug#10147: HTTP "Expires" header should handle non-date values |
Date: |
Thu, 22 Dec 2011 07:35:24 -0500 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/23.3 (gnu/linux) |
On Wed 21 Dec 2011 23:28, Daniel Hartwig <address@hidden> writes:
> On 22 December 2011 10:51, Andy Wingo <address@hidden> wrote:
>>
>> On Sun 27 Nov 2011 05:39, Daniel Hartwig <address@hidden> writes:
>>
>>> HTTP/1.1 clients and caches MUST treat other invalid date formats,
>>> especially including the value "0", as in the past (i.e., "already
>>> expired").
>>
>> But, pragmatism may rule, here...
>
> ... especially given that players like Google are using "-1" ;-)
Yes, indeed.
>> ... Wouldn't it
>> be better to keep the expires header as a date? Would any date in the
>> past work fine?
>
> That is what I initially considered. I considered using a single,
> well defined value for date-in-the-past (Unix epoch).
I think I would prefer this. It makes user code easier, and with more
of a chance of being correct. I think that Mozilla at least used to use
the beginnning of the epoch as this date.
>> Would it be best to allow some special cases like "0" or "-1" instead?
>>
>
> Not sure precisely what you mean here. Is it something like:
>
> (or (false-if-exception (parse-date str))
> (and (memq str '("0" "-1")) str)
> date-in-the-past)
More like:
(if (member str '("0" "-1"))
date-in-the-past
(parse-date str))
Then we can wait and see -- if only these two values are out there, then
we are good, and we keep the "validating" characteristic of our date
parser. Otherwise we can fall back to the false-if-exception dance if
someone submits a bug report.
WDYT? Want to send another patch? :-)
Andy
--
http://wingolog.org/