Re: [Tsv-art] Tsvart last call review of draft-ietf-httpbis-priority-10

Kazuho Oku <kazuhooku@gmail.com> Wed, 05 January 2022 04:49 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 075CF3A2544 for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Tue, 4 Jan 2022 20:49:05 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.737
X-Spam-Level:
X-Spam-Status: No, score=-2.737 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, HTML_MESSAGE=0.001, MAILING_LIST_MULTI=-1, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_PASS=-0.001, T_KAM_HTML_FONT_INVALID=0.01, URIBL_BLOCKED=0.001] autolearn=unavailable autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com
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 hL6ketjWpn6i for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Tue, 4 Jan 2022 20:49:00 -0800 (PST)
Received: from lyra.w3.org (lyra.w3.org [128.30.52.18]) (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 66E443A2543 for <httpbisa-archive-bis2Juki@lists.ietf.org>; Tue, 4 Jan 2022 20:48:59 -0800 (PST)
Received: from lists by lyra.w3.org with local (Exim 4.92) (envelope-from <ietf-http-wg-request@listhub.w3.org>) id 1n4yC3-0001ap-OT for ietf-http-wg-dist@listhub.w3.org; Wed, 05 Jan 2022 04:46:35 +0000
Resent-Date: Wed, 05 Jan 2022 04:46:35 +0000
Resent-Message-Id: <E1n4yC3-0001ap-OT@lyra.w3.org>
Received: from mimas.w3.org ([128.30.52.79]) by lyra.w3.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from <kazuhooku@gmail.com>) id 1n4yC1-0001ZT-Gn for ietf-http-wg@listhub.w3.org; Wed, 05 Jan 2022 04:46:33 +0000
Received: from mail-ed1-x52e.google.com ([2a00:1450:4864:20::52e]) by mimas.w3.org with esmtps (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92) (envelope-from <kazuhooku@gmail.com>) id 1n4yBz-00030B-DM for ietf-http-wg@w3.org; Wed, 05 Jan 2022 04:46:33 +0000
Received: by mail-ed1-x52e.google.com with SMTP id q14so149101413edi.3 for <ietf-http-wg@w3.org>; Tue, 04 Jan 2022 20:46:31 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=tiSxgCSaHajQpGtDlV772iH1jkKnnm3WDtB1L+0Q8rg=; b=gp+c+l2R/712YxIFSzbMr7wHlcGf18GyIs6ohxn1kbdwYKyt3aR1VZM5tf2H9u/odS BzVCgVm0GA9HY7PDMqWDwn9E/uvmk07rmSk0Sm4s5mm+2ul5z/vA7UMcetjEriqUmyDP YPV3HXh20xz8KJWQJUWq1Wdv3fJB+Op4zAEwlXD0TUSEPU3tDfTrQS6EaDxihEnQCf2p FPgioqYBLp2LHIsGoeMTTJXRc3nzDzP8+O2YeAoDA6QX1ax/x49/4h1owYaNhblYWRPb OWUOh7fO/ryFystPTEbCWsFwyfdQRTaotZX3dATNq1ZVSpjtbS1mLGIQbtBEUqe1k7Fh 4J2w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=tiSxgCSaHajQpGtDlV772iH1jkKnnm3WDtB1L+0Q8rg=; b=xhj686AMk2xupA7iXbpKYbzQWiDErMRjvigMkwusdpD5fes82YGSCTMEOaE+Y06j0x 3EoH77QEF+ISIZ1UoiHWMjV77n4OQSG6V/t5tpEg112KFaqxZ/Yq19EAXsuK3hBUr7RP wNsYqMj3u0MCY7dJFlzbqYvxxlH7avI7UVyCEd0oRV2KH4StLuEgOWwsK/djVY2c1okB JCb/RNiOaxv+SMHoXBR12xt2TlxzTbd+KaW5A9HG+JEonFNQZZ4x+hb4oT4zQR4RkHR/ jobLl9U6aK0MwAu2NPN6gJsF1Jk7HJpaTymcT51JdIZUF0uGiZXCd1hzMSHlMI26PWju Xk2Q==
X-Gm-Message-State: AOAM5309NiPNTUORjB/HJDqX7+sr6lQnZkQAM4Ti8X48B9JbNDmy9Bv2 nx2acRr6NW53Gs1XWgx93A7X1PtWM4kAOYsOhww=
X-Google-Smtp-Source: ABdhPJyH8Sje69yFgynGMBr67FLhIvcTPfhtTX3Lg7muuEkGKSlXYwAFe0+UKC8Yj7wJPUZrCal0VBj+98cZ+Ro+GeU=
X-Received: by 2002:a17:906:82c7:: with SMTP id a7mr43307182ejy.91.1641357979430; Tue, 04 Jan 2022 20:46:19 -0800 (PST)
MIME-Version: 1.0
References: <163823172684.25092.12541395997867030932@ietfa.amsl.com> <CALGR9oZJKr_guJfP_QxhTcAjXCGDT+a-gJHjFfksFisc-ZAxnA@mail.gmail.com> <5a46e3d3-36b4-fde5-932f-0381bbe75e22@bobbriscoe.net>
In-Reply-To: <5a46e3d3-36b4-fde5-932f-0381bbe75e22@bobbriscoe.net>
From: Kazuho Oku <kazuhooku@gmail.com>
Date: Wed, 05 Jan 2022 13:46:08 +0900
Message-ID: <CANatvzyAAMiRA98fxGVswinDwO4pHy89vkTPQ7zvPDLJmQf5rQ@mail.gmail.com>
To: Bob Briscoe <ietf@bobbriscoe.net>
Cc: Lucas Pardue <lucaspardue.24.7@gmail.com>, tsv-art@ietf.org, HTTP Working Group <ietf-http-wg@w3.org>, last-call@ietf.org, draft-ietf-httpbis-priority.all@ietf.org
Content-Type: multipart/alternative; boundary="0000000000005032b605d4ce6f46"
Received-SPF: pass client-ip=2a00:1450:4864:20::52e; envelope-from=kazuhooku@gmail.com; helo=mail-ed1-x52e.google.com
X-W3C-Hub-DKIM-Status: validation passed: (address=kazuhooku@gmail.com domain=gmail.com), signature is good
X-W3C-Hub-Spam-Status: No, score=-4.1
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, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_KAM_HTML_FONT_INVALID=0.01, W3C_AA=-1, W3C_WL=-1
X-W3C-Scan-Sig: mimas.w3.org 1n4yBz-00030B-DM 402f2f4947c5b19b2840688ab3b62dc6
X-Original-To: ietf-http-wg@w3.org
Subject: Re: [Tsv-art] Tsvart last call review of draft-ietf-httpbis-priority-10
Archived-At: <https://www.w3.org/mid/CANatvzyAAMiRA98fxGVswinDwO4pHy89vkTPQ7zvPDLJmQf5rQ@mail.gmail.com>
Resent-From: ietf-http-wg@w3.org
X-Mailing-List: <ietf-http-wg@w3.org> archive/latest/39693
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>

Bob, thank you for your thorough review.

I think we have addressed or Lucas has responded to most of the points, but
I've been notified that the point below has been left to me.

2021年12月21日(火) 21:17 Bob Briscoe <ietf@bobbriscoe.net>:

>
> T#5c) Nothing said about caching and priority
>>
>> The paragraph about caching and priority just ends having talked a bit
>> about
>> caching but not about priority. It left me none the wiser about what a
>> cache
>> ought to store about priority with the response. §13.8 talks about
>> fairness
>> between multiple live connections in the presence of coalescing. But
>> doesn't
>> the discussion of caching and priority here need to talk about what
>> must/should/may be stored about priority in a cache for later
>> connections. Even
>> if it's implementation dependent, wouldn't it be worth a brief discussion
>> (as
>> in the 2 paras below).
>>
>> The priority of a response is the outcome of an interaction between the
>> client's original (e2e) priority combined with the server's logic about
>> the
>> resource. If only the priority outcome is stored, then when another
>> request
>> arrives at the cache from a different client, there will be no record of
>> the
>> original client's priority. So the  cache will not know what client
>> priority
>> led to the priority stored with the response. And it will not know
>> whether the
>> current client priority is the same or different.
>>
>> On the other hand, if the cache stores the original client priority with
>> the
>> response priority, then should it refer a request with a different (e2e)
>> client
>> priority to the server, then store the new pair of priorities with the
>> original
>> cached response? And I guess it could serve the request in parallel,
>> rather
>> than waiting for the server to tell it whether to serve the request
>> urgently
>> (!). This would probably scale reasonably well, given the likely small
>> number
>> of different client priorities. But who knows how it would scale if the
>> parameter space is extended in future.
>>
>
> Answer supplied by Kazuho - As discussed in the last paragraph of section
> 5, CACHING defines if and how requests with different header field values
> can be mapped to one response. If the capabilities provided by CACHING
> (i.e. Vary) is too limited, then we should fix that as an extension to
> CACHING (as have been previously proposed as draft-ietf-httpbis-key). In
> practice, re Extensible Priorities, IMO, there aren't many sensible
> combinations of urgency and incremental. Therefore, backend servers that
> want to tune priority based on the value that the client sends can simply
> send Vary: priority and call it a day.
>
>
> [BB] I think my point has been missed. I'll try an example:
> Client A requests
>     priority u=4
> Server responds
>     priority u=2,
> which gets cached.
> Client B requests same object
>     priority u=4.
> Client C requests same object
>     priority u=0
>
> If requests B & C were forwarded to the origin, it would respond with
>     priority u=2    # for B
>     priority u=0    # for C
>
> However, even though the cached object has the same priority header that
> the origin server would give to Client B's request, it's different to that
> cached. And the cache cannot tell that B's request would match, but C's
> wouldn't.
>
> Vary doesn't help here, does it? At least not without storing the client
> request priority as well as the server response.
>

[KO] Vary does exactly that.

Quoting from draft-ietf-httpbis-cache-19 section 4.1: When a cache receives
a request that can be satisfied by a stored response and that stored
response contains a Vary header field (Section 12.5.5 of [HTTP]), the cache
MUST NOT use that stored response without revalidation unless all the
presented request header fields nominated by that Vary field value match
those fields in the original request (i.e., the request that caused the
cached response to be stored).
https://httpwg.org/http-core/draft-ietf-httpbis-cache-latest.html#rfc.section.4.1.p.1

-- 
Kazuho Oku