Re: Last Call: <draft-ietf-httpbis-early-hints-03.txt> (An HTTP Status Code for Indicating Hints) to Experimental RFC
Julian Reschke <julian.reschke@gmx.de> Mon, 26 June 2017 10:36 UTC
Return-Path: <julian.reschke@gmx.de>
X-Original-To: ietf@ietfa.amsl.com
Delivered-To: ietf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 60948129ADE; Mon, 26 Jun 2017 03:36:49 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.7
X-Spam-Level:
X-Spam-Status: No, score=-4.7 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-2.8, 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 m0ZBS9j_2gZe; Mon, 26 Jun 2017 03:36:47 -0700 (PDT)
Received: from mout.gmx.net (mout.gmx.net [212.227.17.20]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id C697E129AD4; Mon, 26 Jun 2017 03:36:46 -0700 (PDT)
Received: from [192.168.178.20] ([93.217.84.68]) by mail.gmx.com (mrgmx103 [212.227.17.168]) with ESMTPSA (Nemesis) id 0MQih7-1dK7nn3T4P-00U4B3; Mon, 26 Jun 2017 12:36:39 +0200
Subject: Re: Last Call: <draft-ietf-httpbis-early-hints-03.txt> (An HTTP Status Code for Indicating Hints) to Experimental RFC
To: Kazuho Oku <kazuhooku@gmail.com>
Cc: ietf@ietf.org, httpbis-chairs@ietf.org, Mark Nottingham <mnot@mnot.net>, draft-ietf-httpbis-early-hints@ietf.org, HTTP Working Group <ietf-http-wg@w3.org>, alexey.melnikov@isode.com
References: <149806437201.15854.12299810594896460001.idtracker@ietfa.amsl.com> <dcdff226-e12d-bb83-982f-8253f46ae935@gmx.de> <CANatvzygaU9oiof3-5TqnWdxqXOGNyGqPvNhTnpPzYy391CzNw@mail.gmail.com>
From: Julian Reschke <julian.reschke@gmx.de>
Message-ID: <632d93e7-eab5-dcbe-e971-64e3b27ddb4e@gmx.de>
Date: Mon, 26 Jun 2017 12:36:36 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.2.1
MIME-Version: 1.0
In-Reply-To: <CANatvzygaU9oiof3-5TqnWdxqXOGNyGqPvNhTnpPzYy391CzNw@mail.gmail.com>
Content-Type: text/plain; charset="utf-8"; format="flowed"
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-Provags-ID: V03:K0:db1oQNtjqfgM+JXce198hnScnbE1ALTGbu1HRqP2LxFTRXrKGhf o6KNoSfwsmnt03HuFazMuT+Bb3X8LYMMBFssgHJzxrpk9MU4hKw3wbfwJo6A7FBPdPxAPGI Y4j4ffGwa92X2jVrd+hoLNhwfN7ePvxpjnWTrZk7FF6luFzwRMVAp1SSSR51oeIXe5awcgV zOGc2T16G5MMHfdBE6kow==
X-UI-Out-Filterresults: notjunk:1;V01:K0:vOBeS4zkrNc=:WNj9iVF3AfPySn6Jwdwan5 lR+sdr4H+EkctJtntZESV9oZaZLSnQslWfBU7DMywOhZ65gbSCRZfIi56ITsNxVpO33VM0lgr SAlHQT64NKpspP3iA5NVFvwDE/miW153Bojn7nVSwPoenxCexGcVSyvI4bvj346JyvNEjijvO E+vel9CY8ykfM9bKP+JteMJwZrYlrCrsR1XK8cFVqE5qxYgAWBHq33A1rCXVXPmOuTW2K9vhM FAjEoqJvcLt2VEQEW9k0UJ4a0/IxGnsMW5T6mAjLVR28Zj90purh4N3mGXtaWMHgLD1AdZc/t jHSeZy2SVlBfPwn1y/Vysd7LQzwQdeYSglue3pIKpEtk/6/5ZEn3mo/X9c1Axl1nyGOiRu9AQ x49uGIV6DHbbbrBZB+ehUopkgWUZU/0QfcLpsLXebz5H/uASkwdhZwkQcKA4t0IwvSy+Qc9Jm eFsT+dGpoEZwQ1kebxYyqWSwopyl3SrhFmUVnbcQwLOQv4awTXC0lJIj4+klpUDk2Ge4SB10U IMzYuPruZXfQorFbPInYh3J9B+g8YAChu2Vq6654YN7HzYRh9DhtmZXM6ZzUsqpZ0/efmXQek z5Oa5vfzLfZWTq824H6dT2+QN+tuwC3cXfg8YXgxv8aQzf5QJCRU2KyByoU25Y2+JwUXLot+o fuhzEWXjacAssSdEjn3x8TcV+TrMe2kFFEGIQfaz3CtWWI46OjNeoWkTmZaLxMWWxB/pVmv1L LlU+rT9gHZcuRzOFg5HTCQ6+4yEEItaYVkjAyOAXPultWvdLEF1qZw2tmwGeEtuGGcGygXl+q yiS3wOi
Archived-At: <https://mailarchive.ietf.org/arch/msg/ietf/xAmb7UWPnvGiYiWTXiQvENCnrhE>
X-BeenThere: ietf@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: IETF-Discussion <ietf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/ietf>, <mailto:ietf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/ietf/>
List-Post: <mailto:ietf@ietf.org>
List-Help: <mailto:ietf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/ietf>, <mailto:ietf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 26 Jun 2017 10:36:49 -0000
On 2017-06-26 04:39, Kazuho Oku wrote: > ... > 2017-06-25 19:11 GMT+09:00 Julian Reschke <julian.reschke@gmx.de>: >> On 2017-06-21 18:59, The IESG wrote: >>> >>> >>> The IESG has received a request from the Hypertext Transfer Protocol WG >>> (httpbis) to consider the following document: - 'An HTTP Status Code for >>> Indicating Hints' >>> <draft-ietf-httpbis-early-hints-03.txt> as Experimental RFC >>> ... >> >> >> >> Here's my feedback...: >> >> 2. 103 Early Hints >> >> ... >> >> A server MUST NOT include Content-Length, Transfer-Encoding, or any >> hop-by-hop header fields ([RFC7230], Section 6.1) in a 103 (Early >> Hints) response. >> >> That's a bit weird here, because the requirements for C-L and T-E are >> generic to 1xx, and already are stated in RFC 7230. The text above makes it >> sound as if these are specific to 103, which they are not. >> >> For hop-by-hop, I'm not convinced that the requirement is needed here. > > I agree that we do not need to talk about C-L and T-E here. > > The reasons I added a clause prohibiting the use of hop-by-hop headers > in an 103 response are as follows: > * does not make sense for a response that attempts to send the > metadata of a final response early > * to avoid confusion caused by sending a hop-by-hop header in the 103 response > > Without the restriction, a response like below would be valid, which > IMO is confusing at least. > > ``` > HTTP/1.1 103 Early Hints > Connection: close > Link: </style.css>; rel=preload > > HTTP/1.1 200 OK > Connection: close > Link: </style.css>; rel=preload > ... > ``` Yes, but does that mean we need a normative requirement? Also, is it really obvious that no future hop-by-hop header field could be meaningful on a 103? >> ... >> >> An intermediary MAY drop the informational response. (...) >> >> That seems to contradict a MUST-level requirement in RFC 7231 >> (https://www.greenbytes.de/tech/webdav/rfc7231.html#rfc.section.6.2.p.3) > > The statement exists since sending 103 only makes sense when it is > impossible to immediately send a final response. > > For example, there is no need for a cache that is in possession of a > freshly-cached final response to send a 103 that was sent from the > origin before sending the final response. I also believe that most > caching proxies that exist today do not cache informational responses, > and that there is no need for us to require them to do so. > > Considering the facts, one way to resolve the issue would be to adjust > the statement to something like "An intermediary MAY omit the 103 > response when resending a cached response", and argue that re-sending > a cached response is not an action of "forwarding," which is defined > as a MUST in RFC 7231. Sounds good to me. > But wouldn't it be simpler to just have the "MAY drop" clause for any > intermediary? In that case, the spec would contradict RFC 7231, which is bad position to be in... >> The following example illustrates a typical message exchange that >> involves a 103 (Early Hints) response. >> >> Client request: >> >> GET / HTTP/1.1 >> Host: example.com >> >> (maybe insert blank line do delimit the message) >> >> Server response: >> >> HTTP/1.1 103 Early Hints >> Link: </style.css>; rel=preload; as=style >> Link: </script.js>; rel=preload; as=script >> >> HTTP/1.1 200 OK >> Date: Fri, 26 May 2017 10:02:11 GMT >> Content-Length: 1234 >> Content-Type: text/html; charset=utf-8 >> Link: </style.css>; rel=preload; as=style >> Link: </script.js>; rel=preload; as=script >> >> <!doctype html> >> [... rest of the response body is ommitted from the example ...] >> >> The example suggests that early hints are repeated in the final response. Do >> they have to, actually? > > Yes. They need to, especially if caching is involved. 103 is an > intermediary response and there is no guarantee (or a requirement) for > a cache to retain the headers included only in the informational > response. > > In case of link rel=preload headers, a client can speculatively load > the resources included in the headers while revalidating a > stale-cached response, or a caching proxy can generate a 103 response > from a stale-cached 200 response, while waiting for the origin to > perform revalidation. What I'm after is a clear statement whether they really need to be repeated, as normative language. > ... Best regards, Julian
- Re: Last Call: <draft-ietf-httpbis-early-hints-03… Julian Reschke
- Re: Last Call: <draft-ietf-httpbis-early-hints-03… Willy Tarreau
- Re: Last Call: <draft-ietf-httpbis-early-hints-03… Julian Reschke
- Re: Last Call: <draft-ietf-httpbis-early-hints-03… Willy Tarreau
- Re: Last Call: <draft-ietf-httpbis-early-hints-03… Julian Reschke
- Re: Last Call: <draft-ietf-httpbis-early-hints-03… Willy Tarreau
- Re: Last Call: <draft-ietf-httpbis-early-hints-03… Kazuho Oku
- Re: Last Call: <draft-ietf-httpbis-early-hints-03… Julian Reschke
- Re: Last Call: <draft-ietf-httpbis-early-hints-03… Julian Reschke
- Re: Last Call: <draft-ietf-httpbis-early-hints-03… Alex Rousskov
- Re: Last Call: <draft-ietf-httpbis-early-hints-03… Mark Nottingham
- Re: Last Call: <draft-ietf-httpbis-early-hints-03… Kazuho Oku
- Re: Last Call: <draft-ietf-httpbis-early-hints-03… Willy Tarreau
- RE: Last Call: <draft-ietf-httpbis-early-hints-03… Mike Bishop
- Re: Last Call: <draft-ietf-httpbis-early-hints-03… Mark Nottingham