Re: Call for Adoption: Proxy Status

Alex Rousskov <rousskov@measurement-factory.com> Tue, 23 April 2019 16:28 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 339C5120058 for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Tue, 23 Apr 2019 09:28:13 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.9
X-Spam-Level:
X-Spam-Status: No, score=-2.9 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HEADER_FROM_DIFFERENT_DOMAINS=0.001, MAILING_LIST_MULTI=-1, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
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 hRuYKYTSZ_hb for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Tue, 23 Apr 2019 09:28:10 -0700 (PDT)
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 D8A8312010F for <httpbisa-archive-bis2Juki@lists.ietf.org>; Tue, 23 Apr 2019 09:28:10 -0700 (PDT)
Received: from lists by frink.w3.org with local (Exim 4.89) (envelope-from <ietf-http-wg-request@listhub.w3.org>) id 1hIyEN-0004vq-MP for ietf-http-wg-dist@listhub.w3.org; Tue, 23 Apr 2019 16:25:15 +0000
Resent-Date: Tue, 23 Apr 2019 16:25:15 +0000
Resent-Message-Id: <E1hIyEN-0004vq-MP@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 <rousskov@measurement-factory.com>) id 1hIyEL-0004v8-AQ for ietf-http-wg@listhub.w3.org; Tue, 23 Apr 2019 16:25:13 +0000
Received: from mail.measurement-factory.com ([104.237.131.42]) by titan.w3.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.89) (envelope-from <rousskov@measurement-factory.com>) id 1hIyEH-0002wO-OS for ietf-http-wg@w3.org; Tue, 23 Apr 2019 16:25:11 +0000
Received: from [65.102.233.169] (unknown [65.102.233.169]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.measurement-factory.com (Postfix) with ESMTPSA id 16E0DE034 for <ietf-http-wg@w3.org>; Tue, 23 Apr 2019 16:24:48 +0000 (UTC)
References: <8E2C757B-13CF-434E-BD3E-56166D57CE2B@apple.com> <39d04865-c30b-7bbc-ffd3-be523fb69d67@measurement-factory.com> <FFC92E91-6379-4D98-933A-996BF1522A53@mnot.net> <c5078c63-3c26-4daa-a186-c74718ac143a@measurement-factory.com> <BB1546CE-850C-43A5-99B6-634AE8A1A626@mnot.net>
From: Alex Rousskov <rousskov@measurement-factory.com>
To: "ietf-http-wg@w3.org Group" <ietf-http-wg@w3.org>
Message-ID: <60679358-5666-c5fc-3932-09a70821cf1e@measurement-factory.com>
Date: Tue, 23 Apr 2019 10:24:47 -0600
User-Agent: Mozilla/5.0 (X11; Linux i686; rv:60.0) Gecko/20100101 Thunderbird/60.6.1
MIME-Version: 1.0
In-Reply-To: <BB1546CE-850C-43A5-99B6-634AE8A1A626@mnot.net>
Content-Type: text/plain; charset="utf-8"
Content-Language: en-US
Content-Transfer-Encoding: 7bit
Received-SPF: pass client-ip=104.237.131.42; envelope-from=rousskov@measurement-factory.com; helo=mail.measurement-factory.com
X-W3C-Hub-Spam-Status: No, score=-3.7
X-W3C-Hub-Spam-Report: AWL=0.167, BAYES_00=-1.9, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001, W3C_AA=-1, W3C_WL=-1
X-W3C-Scan-Sig: titan.w3.org 1hIyEH-0002wO-OS 628ddc3d81db6b5a5ca33097d4c681d5
X-Original-To: ietf-http-wg@w3.org
Subject: Re: Call for Adoption: Proxy Status
Archived-At: <https://www.w3.org/mid/60679358-5666-c5fc-3932-09a70821cf1e@measurement-factory.com>
Resent-From: ietf-http-wg@w3.org
X-Mailing-List: <ietf-http-wg@w3.org> archive/latest/36557
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>

On 4/22/19 11:38 PM, Mark Nottingham wrote:
>> On 23 Apr 2019, at 1:06 pm, Alex Rousskov wrote:
>> I doubt we need two header fields sharing the same goal of reporting
>> what happened at the proxy. One status header field is enough AFAICT.
>> Any caching-related statuses are a subset of proxy statuses.


> I disagree pretty strongly; caches can occur within the origin server
> (and one of the implementers interested in cache is doing exactly
> that),

If you want to support origin servers, drop or change the Proxy- prefix.
I agree that allowing origin servers (and user agents) to report message
processing/generation details is a good idea.


> and caching semantics are detailed enough that they deserve separate
> attention and communication.

The amount of details in caching semantics does not (or should not)
affect the delivery mechanism/interface IMO. If done right, all those
details are still going to be communicated via a list of "statuses" with
status-specific parameters.

We can, of course, describe caching statuses in a separate draft/RFC,
but there is no benefit (and there is quite a bit of harm!) in spreading
these "statuses" across multiple headers (e.g., Proxy-Status,
Origin-Status, Client-Status, Cache[-Status], Adaptation-Status,
Legal-Status, Storage-Status, CDN-Status, etc., etc.).


> Besides, we're trying to pave cowpaths here; Cache follows X-Cache,
> and this header is trying to align a variety of other behaviours.

Ordering those cows by departure time is very important here.
Reconstructing that order by observing multiple cow paths (without a
single reliable source of cow branding) is often very difficult. A
single cow path gives you that order.

If you insist on having two overlapping headers, I suspect that any
decent caching proxy implementation would _duplicate_ Cache entries in
its Proxy-Status headers...


> Let's not get too ambitious.

The suggested changes would simply remove artificial/unnatural scope
restrictions on the new header. There is nothing ambitious about that!
There is naturally strong consensus that reporting message processing
details is useful. The Proxy-Status draft already defines the framework
for such reporting. It does not need to do anything else to
significantly improve support for many reporting use cases, even if
those use cases are not explicitly enumerated/detailed in the draft
itself. Just removing unnecessary scope restrictions (and possibly
adjusting the header name) is enough.


Cheers,

Alex.