Re: New Version Notification for draft-nottingham-cache-header-00.txt

Mark Nottingham <mnot@mnot.net> Tue, 13 November 2018 05:00 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 F14F4126F72 for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Mon, 12 Nov 2018 21:00:45 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.752
X-Spam-Level:
X-Spam-Status: No, score=-2.752 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.249, MAILING_LIST_MULTI=-1, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=mnot.net header.b=Dunm/o7T; dkim=pass (2048-bit key) header.d=messagingengine.com header.b=fgc7ILdV
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 XO8J4EGM0Ub6 for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Mon, 12 Nov 2018 21:00:44 -0800 (PST)
Received: from frink.w3.org (frink.w3.org [IPv6:2603:400a:ffff:804:801e:34:0:38]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id E9038124408 for <httpbisa-archive-bis2Juki@lists.ietf.org>; Mon, 12 Nov 2018 21:00:43 -0800 (PST)
Received: from lists by frink.w3.org with local (Exim 4.89) (envelope-from <ietf-http-wg-request@listhub.w3.org>) id 1gMQmK-0002aF-PJ for ietf-http-wg-dist@listhub.w3.org; Tue, 13 Nov 2018 04:58:20 +0000
Resent-Date: Tue, 13 Nov 2018 04:58:20 +0000
Resent-Message-Id: <E1gMQmK-0002aF-PJ@frink.w3.org>
Received: from titan.w3.org ([2603:400a:ffff:804:801e:34:0:4c]) by frink.w3.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.89) (envelope-from <mnot@mnot.net>) id 1gMQmI-0002Zc-Dr for ietf-http-wg@listhub.w3.org; Tue, 13 Nov 2018 04:58:18 +0000
Received: from out5-smtp.messagingengine.com ([66.111.4.29]) by titan.w3.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.89) (envelope-from <mnot@mnot.net>) id 1gMQmG-0003e8-3k for ietf-http-wg@w3.org; Tue, 13 Nov 2018 04:58:18 +0000
Received: from compute3.internal (compute3.nyi.internal [10.202.2.43]) by mailout.nyi.internal (Postfix) with ESMTP id 48DEF2221C; Mon, 12 Nov 2018 23:57:55 -0500 (EST)
Received: from mailfrontend2 ([10.202.2.163]) by compute3.internal (MEProxy); Mon, 12 Nov 2018 23:57:55 -0500
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mnot.net; h= content-type:mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; s=fm1; bh=e sqBtXC12kr/oOo7anorc8NjZ+jXmeDrz4sTZvvw23s=; b=Dunm/o7T3kqSuza3W gviNW6sSLIAOoACXf31dwogEHF9kVPYRHnYZZLWZ+K8qJjXGF5kcQeL82vDpNas4 mIyjcjFf0nhNfzQoCyuNMaNyGLdRq9np22B63c/8/TvdtQfOwSpWWWWPL5XJ3s1r SbR9NvbV/5PRsT9vZfJVLFnXZgBMgLyLqf549yZCvhYgm3lMHIsrGZQj+1h9z48v 0zc1TwTVOrC5/c1OgdNNcaf0Sps+Jamvxnxyo/IYmWxnaATP6M6fEk2TivV5CLTy TxlWdzRGzc3okh1huPRNy7a2ObafZZEynfLI0PBNP2liEB29s6d2wFfwJu+1pHl/ 8FHBg==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding:content-type :date:from:in-reply-to:message-id:mime-version:references :subject:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender :x-sasl-enc; s=fm1; bh=esqBtXC12kr/oOo7anorc8NjZ+jXmeDrz4sTZvvw2 3s=; b=fgc7ILdVJD+mINqcM3zNqHpI+c4i0vXzY5vmiqMNd5sDeVXbqzj6F+W44 W+DUvjrfdhq1lz2ERx3wKTnEX6IaOZLZM6Q3ZvMhtftyZnd924Ux5PekgZplIM0Z CrPCyC1310P5WYFlNoFpj/og6HbaLyY/2hCXY8/ngx6m/f3edRzH4SJM2RfFAqPc 7wLZmYn52zbwq2MgpnJZJcbW1gHCrgwh1Cu/HGgpqsxJ5KcP5tTIWq7hwCKjV+Z7 eO5U2yF3X3Ng6Ye8P8bRvJt8f/c4vOJfQBapP3DP9xV0GSwcN4uc4I16Ob9ArneA inJ696ZEvhNR3PQz6UaUoz6AJZY+Q==
X-ME-Sender: <xms:0lnqW3GcZsaUoLI97r9woOk-nwhPOmehgW4HMQ2MJ1HDdCrtV02Gmw>
X-ME-Proxy: <xmx:0lnqW9UiCgRTN_-w9sGMseXDh02PLsvCtvitl9iiS4pmjeUufhb99A> <xmx:0lnqW25kVpcO_25zubTx1KlLQcX8kjUrxStBWjimP4P9emWG9uFABQ> <xmx:0lnqWxYAPVHm7gXPxHq4bf_PaobQG_lxvkHSR-bylLCFCaAXrVTHpA> <xmx:0lnqW6AsZNFysKzVJL8Po8WhecZ9gT0zLXLJAW3-v1DLbvGPBQHMCg> <xmx:0lnqWypqMK81mu3HqIXu7E1KHOx4iTx08YMn2-eVVzxXI0pNeZZG5g> <xmx:01nqW2-8WPlD1WmhMkMTMcH0dvOxDKAB_deDalNh7OP7ylMKBi0_8w>
Received: from attitudadjuster.mnot.net (unknown [144.136.175.28]) by mail.messagingengine.com (Postfix) with ESMTPA id 6F0EC102A0; Mon, 12 Nov 2018 23:57:53 -0500 (EST)
Content-Type: text/plain; charset="utf-8"
Mime-Version: 1.0 (Mac OS X Mail 12.0 \(3445.100.39\))
From: Mark Nottingham <mnot@mnot.net>
In-Reply-To: <CANatvzw5mMMHpXXLO3WHupn1sUeCCLuy-yy-eRj+28=b_id7zQ@mail.gmail.com>
Date: Tue, 13 Nov 2018 15:57:47 +1100
Cc: HTTP Working Group <ietf-http-wg@w3.org>
Content-Transfer-Encoding: quoted-printable
Message-Id: <BA67F889-6D03-473D-BED7-9339C6F83406@mnot.net>
References: <153630251281.11674.4222139546682549239.idtracker@ietfa.amsl.com> <AEDC275A-8CE2-48F4-B08A-8791FB0443B1@mnot.net> <CANatvzw5mMMHpXXLO3WHupn1sUeCCLuy-yy-eRj+28=b_id7zQ@mail.gmail.com>
To: Kazuho Oku <kazuhooku@gmail.com>
X-Mailer: Apple Mail (2.3445.100.39)
X-W3C-Hub-Spam-Status: No, score=-6.5
X-W3C-Hub-Spam-Report: AWL=3.320, 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, W3C_AA=-1, W3C_DB=-1, W3C_IRA=-1, W3C_IRR=-3, W3C_WL=-1
X-W3C-Scan-Sig: titan.w3.org 1gMQmG-0003e8-3k c544ace87a6a212ace2432fe8b07cde1
X-Original-To: ietf-http-wg@w3.org
Subject: Re: New Version Notification for draft-nottingham-cache-header-00.txt
Archived-At: <https://www.w3.org/mid/BA67F889-6D03-473D-BED7-9339C6F83406@mnot.net>
Resent-From: ietf-http-wg@w3.org
X-Mailing-List: <ietf-http-wg@w3.org> archive/latest/36056
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>

Hi Kazuho!

> On 13 Nov 2018, at 2:23 pm, Kazuho Oku <kazuhooku@gmail.com> wrote:
> 
> Hi Mark,
> 
> Thank you for the draft.
> 
> I like the Cache header it because it standardizes what we have been
> doing, and it has clear structure that can be used by the client to
> collect stats.
> 
> OTOH, I wonder how we should use it in conjunction with Server-Timing header.
> 
> In my view, both the Cache header and the Server-Timing header allows
> caches and intermediaries to set arbitrary information related to
> processing.
> 
> For example, I think the example described in the I-D (quoted below
> using separate Cache header for each element) can be represented also
> by using the Server-Timing headers as show below.
> 
>    Cache: HIT_FRESH; node="reverse-proxy.example.com:80";
>        key="https://example.com/foo|Accept-Encoding:gzip"
>    Cache: HIT_STALE; node="FooCDN parent"; fresh=-45; age=200; latency=3,
>    Cache: MISS; node="FooCDN edge"; fresh=-45; age=200; latency=98
> 
>    Server-Timing: hit-fresh; node="reverse-proxy.example.com:80";
>        key="https://example.com/foo|Accept-Encoding:gzip"
>    Server-Timing: hit-stale; node="FooCDN parent"; fresh=-45; age=200; dur=3
>    Server-Timing: miss; node="FooCDN edge"; fresh=-45; age=200; dur=98
> 
> I do not think that having both Cache and Server-Timing is a bad idea.
> However I would like to see a clarification on how they should be
> used, especially because their features are IMO overlapping
> (especially the `latency` and `dur` attributes).

Server-Timing is designed for *application specific* metrics; it's automagically slurped up by browsers for inclusion in their developer tools, etc. Effectively, it doesn't have any semantics beyond "whatever metrics you want to put in here will show up over there."

Cache is designed for generic HTTP caching semantics; its value is in that its values mean the same no matter what application you use them with. By default browser dev tools don't display it, but there's no reason they couldn't if they wanted to -- and because it has defined semantics, if they did, they'd be able to integrate it into what they show the developer more deeply / accurately.

If we used Server-Timing for this use case, we'd be effectively squatting on a bunch of metric names for applications, and hoping we wouldn't have a clash. I think encouraging CDNs, reverse proxies and forward proxy caches to use Server-Timing is Probably Not Great.

Also -considering that 95% of the effort here is going to be defining the semantics, I'm not too worried about the extra effort of defining a new header (especially since we're using Structured Headers :)

Cheers,


> 
> 2018年9月7日(金) 15:48 Mark Nottingham <mnot@mnot.net>:
>> 
>> FYI; IMO it's past time to standardise x-cache and have a real spec for it.
>> 
>> This is a straw-man, based on a bit of research on existing implementations.
>> 
>> Pretty version at:
>>  https://mnot.github.io/I-D/cache-header/
>> 
>> Comments? I think the primary audience here is proxy cache and CDN vendors, and their users.
>> 
>> Cheers,
>> 
>> 
>> 
>> Begin forwarded message:
>> 
>> From: internet-drafts@ietf.org
>> Subject: New Version Notification for draft-nottingham-cache-header-00.txt
>> Date: 7 September 2018 at 4:41:52 pm AEST
>> To: "Mark Nottingham" <mnot@mnot.net>
>> 
>> 
>> A new version of I-D, draft-nottingham-cache-header-00.txt
>> has been successfully submitted by Mark Nottingham and posted to the
>> IETF repository.
>> 
>> Name: draft-nottingham-cache-header
>> Revision: 00
>> Title: The Cache HTTP Response Header
>> Document date: 2018-09-07
>> Group: Individual Submission
>> Pages: 7
>> URL:            https://www.ietf.org/internet-drafts/draft-nottingham-cache-header-00.txt
>> Status:         https://datatracker.ietf.org/doc/draft-nottingham-cache-header/
>> Htmlized:       https://tools.ietf.org/html/draft-nottingham-cache-header-00
>> Htmlized:       https://datatracker.ietf.org/doc/html/draft-nottingham-cache-header
>> 
>> 
>> Abstract:
>>  To aid debugging, HTTP caches often append headers to a response
>>  detailing how they handled the request.  This specification codifies
>>  that practice and updates it for HTTP's current caching model.
>> 
>> 
>> 
>> 
>> Please note that it may take a couple of minutes from the time of submission
>> until the htmlized version and diff are available at tools.ietf.org.
>> 
>> The IETF Secretariat
>> 
>> 
>> --
>> Mark Nottingham   https://www.mnot.net/
>> 
> 
> 
> -- 
> Kazuho Oku

--
Mark Nottingham   https://www.mnot.net/