Re: A structured format for dates?

Martin Thomson <mt@lowentropy.net> Thu, 16 June 2022 07:46 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 (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 40E1AC15AE2D for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Thu, 16 Jun 2022 00:46:06 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.757
X-Spam-Level:
X-Spam-Status: No, score=-2.757 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HEADER_FROM_DIFFERENT_DOMAINS=0.25, MAILING_LIST_MULTI=-1, RCVD_IN_DNSWL_BLOCKED=0.001, RCVD_IN_MSPIKE_H2=-0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_BLOCKED=0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=lowentropy.net header.b=gVSb9XHD; dkim=pass (2048-bit key) header.d=messagingengine.com header.b=K5VHDTv3
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id pf0GlGgq4ASg for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Thu, 16 Jun 2022 00:46:01 -0700 (PDT)
Received: from lyra.w3.org (lyra.w3.org [128.30.52.18]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 667E6C15AE2C for <httpbisa-archive-bis2Juki@lists.ietf.org>; Thu, 16 Jun 2022 00:46:01 -0700 (PDT)
Received: from lists by lyra.w3.org with local (Exim 4.92) (envelope-from <ietf-http-wg-request@listhub.w3.org>) id 1o1kCP-0008GD-V4 for ietf-http-wg-dist@listhub.w3.org; Thu, 16 Jun 2022 07:45:53 +0000
Resent-Date: Thu, 16 Jun 2022 07:45:53 +0000
Resent-Message-Id: <E1o1kCP-0008GD-V4@lyra.w3.org>
Received: from titan.w3.org ([128.30.52.76]) by lyra.w3.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from <mt@lowentropy.net>) id 1o1kCO-0008F2-1R for ietf-http-wg@listhub.w3.org; Thu, 16 Jun 2022 07:45:52 +0000
Received: from wout3-smtp.messagingengine.com ([64.147.123.19]) by titan.w3.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from <mt@lowentropy.net>) id 1o1kCM-0002Qq-Kj for ietf-http-wg@w3.org; Thu, 16 Jun 2022 07:45:51 +0000
Received: from compute3.internal (compute3.nyi.internal [10.202.2.43]) by mailout.west.internal (Postfix) with ESMTP id 423EE3200A2C; Thu, 16 Jun 2022 03:45:39 -0400 (EDT)
Received: from imap41 ([10.202.2.91]) by compute3.internal (MEProxy); Thu, 16 Jun 2022 03:45:39 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=lowentropy.net; h=cc:cc:content-type:date:date:from:from:in-reply-to :in-reply-to:message-id:mime-version:references:reply-to:sender :subject:subject:to:to; s=fm3; t=1655365538; x=1655451938; bh=9q K7luMhTv404AMTkszJUwY23xl9+Wl+zcctpQ6WM1s=; b=gVSb9XHDWLwbW9n5Qt llwIAoF8K4gCXsG5Hx3YIevDue7e5zMUIXOsxk1ad4Z316a/yvk/Gsr1KMeXe6AD AMfnVHqix0ykOK7Y7AAsHoW4vhwSIRJ1ssEhPrkpVbDD2nw4oeQUGMBLF/9O30Vo osbmJWkNyCHBdVwOD2EMWzJ3wrXmGwvvvwD4MpUHswXmZ0WIEf6CepY4rGSG83oB JbMGv8BkQZ5vY9kZ+LVfwEDf4oDuO4aRpkKeBYtaZtZLB8Puu3eg4SaQkvbTbQpi 0xgmlTUc4XhiLGHPnEMtwW8TTUJNcb7lxg5KgmNjxt3UtqlLoDAFZiSpKLDxrwc7 ygzg==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-type:date:date:feedback-id :feedback-id:from:from:in-reply-to:in-reply-to:message-id :mime-version:references:reply-to:sender:subject:subject:to:to :x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s= fm2; t=1655365538; x=1655451938; bh=9qK7luMhTv404AMTkszJUwY23xl9 +Wl+zcctpQ6WM1s=; b=K5VHDTv3dG1ZoO9Jbp2NmJ3uKB3H49Lys3+yA/YB95ZO +o3ugFGRqHTMax4qogzj+tNmvdjUlvjT6jtrN7WC7oiIEDS2mOWJFU1/oDyJEaED Uytqzx8xmIRIGBziVEZ2ylg/8VaILAMKpD9oBHBP522eukRPlA3RrCLWdyTuaOMC fqU08E8Rio4NxhouCntg0DHAjmi6OkQAU5BaywZy76PK7tW16pl75PfC6+o/N1bf yX7jZoGWYzDo3Quh3vkk5ZXwZnKH1LDFHrEj4tnZMtdebOHmXWobLeFRtoNSLDUB 2E+Nx9V+qoXZwXR13x8DhnqwyPWbG9jaT5aMjTFiIA==
X-ME-Sender: <xms:ot-qYgqLcYu5weRjGhZK5iwwimDBccnml-DaFCv5t7LXbd5Su09RBA> <xme:ot-qYmpLcYOtuSEqInbSHjVyoIhm_INpPP2pbhxPNM0_Q17TEIgHAGxyFqvIvodJ5 wnZsvkBraB4oP54VBA>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvfedruddvvddguddvudcutefuodetggdotefrod ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfgh necuuegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmd enucfjughrpefofgggkfgjfhffhffvvefutgesthdtredtreertdenucfhrhhomhepfdfo rghrthhinhcuvfhhohhmshhonhdfuceomhhtsehlohifvghnthhrohhphidrnhgvtheqne cuggftrfgrthhtvghrnhepteffveehtedttdfhfeevleffgeduffeileeivdehkeejuddt vddufefhfffgkeegnecuffhomhgrihhnpehgihhthhhusgdrtghomhdpmhhnohhtrdhnvg htnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepmhht sehlohifvghnthhrohhphidrnhgvth
X-ME-Proxy: <xmx:ot-qYlOwFipss1h_kMSuifDL_gRcXnl_dNo0qpriLUMQIBnoRybwgg> <xmx:ot-qYn4RexldL6HyKPBiFeV7tYF9uFj29G7IdlASdlMdtPbBkmtERg> <xmx:ot-qYv5qiQszycZ7cSnWH2G_SNY4Eygvu_QlpoF_uvHYdF4dKYQDZg> <xmx:ot-qYoXBh3tP5zAEkep4hlTC6x6_cr7KElTpGUECEf7RjFLovP2vXA>
Feedback-ID: ic129442d:Fastmail
Received: by mailuser.nyi.internal (Postfix, from userid 501) id 85DEB2340077; Thu, 16 Jun 2022 03:45:38 -0400 (EDT)
X-Mailer: MessagingEngine.com Webmail Interface
User-Agent: Cyrus-JMAP/3.7.0-alpha0-712-gb9e94258b0-fm-20220610.001-gb9e94258
Mime-Version: 1.0
Message-Id: <b126f932-2e6f-446d-9621-09c76357316a@beta.fastmail.com>
In-Reply-To: <7618B2AD-AB0A-47A8-B37C-154690332214@mnot.net>
References: <8C9C4A5C-45DB-43C0-9769-2A7510854AB1@mnot.net> <202206160546.25G5k0KR056033@critter.freebsd.dk> <B34DEE15-DE14-4DC2-B6D0-F0CD1823EC30@mnot.net> <65e9f4d0-9203-4b5b-913b-4cf801f82d61@beta.fastmail.com> <7618B2AD-AB0A-47A8-B37C-154690332214@mnot.net>
Date: Thu, 16 Jun 2022 17:45:26 +1000
From: Martin Thomson <mt@lowentropy.net>
To: Mark Nottingham <mnot@mnot.net>
Cc: ietf-http-wg@w3.org
Content-Type: text/plain
Received-SPF: pass client-ip=64.147.123.19; envelope-from=mt@lowentropy.net; helo=wout3-smtp.messagingengine.com
X-W3C-Hub-DKIM-Status: validation passed: (address=mt@lowentropy.net domain=lowentropy.net), signature is good
X-W3C-Hub-DKIM-Status: validation passed: (address=mt@lowentropy.net domain=messagingengine.com), signature is good
X-W3C-Hub-Spam-Status: No, score=-6.8
X-W3C-Hub-Spam-Report: BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, W3C_AA=-1, W3C_DB=-1, W3C_IRA=-1, W3C_WL=-1
X-W3C-Scan-Sig: titan.w3.org 1o1kCM-0002Qq-Kj 325ab4d501d8686157ff785d3fbf1ae3
X-Original-To: ietf-http-wg@w3.org
Subject: Re: A structured format for dates?
Archived-At: <https://www.w3.org/mid/b126f932-2e6f-446d-9621-09c76357316a@beta.fastmail.com>
Resent-From: ietf-http-wg@w3.org
X-Mailing-List: <ietf-http-wg@w3.org> archive/latest/40120
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: <https://www.w3.org/Mail/>
List-Post: <mailto:ietf-http-wg@w3.org>
List-Unsubscribe: <mailto:ietf-http-wg-request@w3.org?subject=unsubscribe>

It really seems like, given that we are debating this now, that Deprecation can use SF-Date in whatever form we decide.  I know that folks in HTTPAPI leaned more toward not doing that, but we should - as an institution - have a low tolerance for that sort of divergence.

On Thu, Jun 16, 2022, at 17:42, Mark Nottingham wrote:
> Indeed; I could see e.g., browser dev tools automatically presenting a 
> header that it knows is a date  in a friendly way. The only potential 
> issue comes up when it's not recognised as such.
>
> If we decide not to do this, I'm absolutely fine with it; it just means 
> that it's likely things like Deprecation will continue to use a String 
> for dates, whereas Retrofit will use e.g., Integer.
>
> Cheers,
>
>
>> On 16 Jun 2022, at 5:34 pm, Martin Thomson <mt@lowentropy.net> wrote:
>> 
>> The resistance is probably the result of wanting to be able to read the header as it appears in logs.  I still find this to be challenging with seconds-since-epoch.
>> 
>> That said, I no longer believe that readable is a requirement for wire formats.  Tools can do a lot to cover any shortcomings.
>> 
>> On Thu, Jun 16, 2022, at 16:04, Mark Nottingham wrote:
>>> Personally, I tend to agree with PHK - I think that Integer (or 
>>> Decimal) is adquate and appropriate.
>>> 
>>> However, some people seem to keep on pushing back on this - I think 
>>> especially for application-focused headers it's more visible. If we're 
>>> going to do something, retrofit is a good opportunity for it, since 
>>> we're defining SF-Date and friends.
>>> 
>>> Cheers,
>>> 
>>> 
>>>> On 16 Jun 2022, at 3:46 pm, Poul-Henning Kamp <phk@phk.freebsd.dk> wrote:
>>>> 
>>>> --------
>>>> Mark Nottingham writes:
>>>> 
>>>>> I'd love to hear what people think about this issue:
>>>>> https://github.com/httpwg/http-extensions/issues/2162
>>>> 
>>>> I've added this comment:
>>>> 
>>>> 	I see no mention of fractional seconds ?
>>>> 
>>>> 	I think we need to ponder that, if the goal is (eventual) convergence for all timestamps in HTTP ?
>>>> 
>>>> 	Considering how much effort we spend on speeding up HTTP, I find the "human readable" argument utterly bogus.
>>>> 
>>>> 	Only a very tiny fraction of these timestamps are ever read by humans, and most are in a context where software trivially can render the number in 8601 format if so desired.
>>>> 
>>>> 	In terms of efficiency, I will concede that, in a HTTP context, it is almost always possible to perform the necessary calculations and comparisons on raw ISO-8601 timestamps, without resorting to the full calendrical conversions, but once all the necessary paranoia is included, I doubt it is an optimization.
>>>> 
>>>> 	My preference is sf-decimal seconds since epoch, (and this is largely why sf-decimal has three decimals in the first place), because it gives us fast processing, good compression and millisecond resolution.
>>>> 
>>>> 	PS: A Twitter poll with only 40 respondents, carried out on the first monday after new-years ? Really ?!
>>>> 
>>>> 
>>>> -- 
>>>> Poul-Henning Kamp       | UNIX since Zilog Zeus 3.20
>>>> phk@FreeBSD.ORG         | TCP/IP since RFC 956
>>>> FreeBSD committer       | BSD since 4.3-tahoe    
>>>> Never attribute to malice what can adequately be explained by incompetence.
>>>> 
>>> 
>>> --
>>> Mark Nottingham   https://www.mnot.net/
>> 
>
> --
> Mark Nottingham   https://www.mnot.net/