Re: Issue with "bytes" Range Unit and live streaming

"Roy T. Fielding" <fielding@gbiv.com> Tue, 19 April 2016 21:22 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 8023712E778 for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Tue, 19 Apr 2016 14:22:10 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -8.017
X-Spam-Level:
X-Spam-Status: No, score=-8.017 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.001, RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, RP_MATCHES_RCVD=-0.996, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=gbiv.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 C040WHRb-FhZ for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Tue, 19 Apr 2016 14:22:08 -0700 (PDT)
Received: from frink.w3.org (frink.w3.org [128.30.52.56]) (using TLSv1.2 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id BB6B812E773 for <httpbisa-archive-bis2Juki@lists.ietf.org>; Tue, 19 Apr 2016 14:22:08 -0700 (PDT)
Received: from lists by frink.w3.org with local (Exim 4.80) (envelope-from <ietf-http-wg-request@listhub.w3.org>) id 1asd1Z-0005qB-UN for ietf-http-wg-dist@listhub.w3.org; Tue, 19 Apr 2016 21:17:33 +0000
Resent-Date: Tue, 19 Apr 2016 21:17:33 +0000
Resent-Message-Id: <E1asd1Z-0005qB-UN@frink.w3.org>
Received: from lisa.w3.org ([128.30.52.41]) by frink.w3.org with esmtps (TLS1.2:DHE_RSA_AES_128_CBC_SHA1:128) (Exim 4.80) (envelope-from <fielding@gbiv.com>) id 1asd1U-0005p2-BA for ietf-http-wg@listhub.w3.org; Tue, 19 Apr 2016 21:17:28 +0000
Received: from sub4.mail.dreamhost.com ([69.163.253.135] helo=homiemail-a64.g.dreamhost.com) by lisa.w3.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.80) (envelope-from <fielding@gbiv.com>) id 1asd1Q-0001bN-MQ for ietf-http-wg@w3.org; Tue, 19 Apr 2016 21:17:27 +0000
Received: from homiemail-a64.g.dreamhost.com (localhost [127.0.0.1]) by homiemail-a64.g.dreamhost.com (Postfix) with ESMTP id 1F7204380D4; Tue, 19 Apr 2016 14:16:47 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=gbiv.com; h=content-type :mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; s=gbiv.com; bh=z+syrOW2aKVw319QckdjUBmSbDQ=; b=UofDTkjHR40Q+1kuTPyDaVhrLeea x3sMU/ev8ag77jPSdqnzltU6DJiPKI80so2qcyUiyoNZnCPEIa6rHsXxykVR62ub 1xIFhwfds9sA9FkUk3e9+UUQ0lRrSCcgZhNRdPvl7o67rHc7U3Gt4skwm3mqSOmZ wOfWQSGMDpAlvqw=
Received: from [100.77.110.49] (71.sub-70-209-204.myvzw.com [70.209.204.71]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) (Authenticated sender: fielding@gbiv.com) by homiemail-a64.g.dreamhost.com (Postfix) with ESMTPSA id AD4C84380D2; Tue, 19 Apr 2016 14:16:46 -0700 (PDT)
Content-Type: text/plain; charset="us-ascii"
Mime-Version: 1.0 (1.0)
From: "Roy T. Fielding" <fielding@gbiv.com>
X-Mailer: iPhone Mail (13E238)
In-Reply-To: <E731F82A-953B-4D99-9C52-CE8108DC3EDB@mnot.net>
Date: Tue, 19 Apr 2016 14:16:45 -0700
Cc: Craig Pratt <craig@ecaspia.com>, Göran Eriksson AP <goran.ap.eriksson@ericsson.com>, "STARK, BARBARA H" <bs7652@att.com>, Remy Lebeau <remy@lebeausoftware.org>, IETF HTTP BIS <ietf-http-wg@w3.org>
Content-Transfer-Encoding: quoted-printable
Message-Id: <CC49908F-0327-481E-8665-A101D78FF014@gbiv.com>
References: <57102718.7010900@ecaspia.com> <571041E0.5020401@lebeausoftware.org> <2D09D61DDFA73D4C884805CC7865E61142655F7B@GAALPA1MSGUSRBF.ITServices.sbc.com> <D3370313.258AE%goran.ap.eriksson@ericsson.com> <57114878.1030606@ecaspia.com> <43C1ECE7-139E-4FC8-A46D-83887261B7BC@gbiv.com> <6AB4CBAA-E79D-4DAC-818D-65383B85B81B@gbiv.com> <E731F82A-953B-4D99-9C52-CE8108DC3EDB@mnot.net>
To: Mark Nottingham <mnot@mnot.net>
Received-SPF: none client-ip=69.163.253.135; envelope-from=fielding@gbiv.com; helo=homiemail-a64.g.dreamhost.com
X-W3C-Hub-Spam-Status: No, score=-6.7
X-W3C-Hub-Spam-Report: BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_LOW=-0.7, W3C_AA=-1, W3C_DB=-1, W3C_IRA=-1, W3C_WL=-1
X-W3C-Scan-Sig: lisa.w3.org 1asd1Q-0001bN-MQ 0d8bdc2dfb50bedd58af15ec5c61d1e9
X-Original-To: ietf-http-wg@w3.org
Subject: Re: Issue with "bytes" Range Unit and live streaming
Archived-At: <http://www.w3.org/mid/CC49908F-0327-481E-8665-A101D78FF014@gbiv.com>
Resent-From: ietf-http-wg@w3.org
X-Mailing-List: <ietf-http-wg@w3.org> archive/latest/31515
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: <http://www.w3.org/Mail/>
List-Post: <mailto:ietf-http-wg@w3.org>
List-Unsubscribe: <mailto:ietf-http-wg-request@w3.org?subject=unsubscribe>

Yes, in general, though I was considering the specific use cases for which a live stream is a viable response to a range request. For example, I would expect a live stream to be marked as non-cacheable, or at the very least correctly respond to if-match and if-range preconditions. That would prevent any misunderstanding by unaware caches. A live stream request would omit those preconditions.

Likewise, it sounds to me like this bit of protocol would only be used when all components on the chain are aware of the nature of the content and desiring such streaming, since there are just too many non-HTTP factors needed to make it work. IOW, I would not expect the client to allow the request to be proxied unless it already knew the proxy could cooperate.

Nevertheless, there is no hurry in adopting one proposal or another. It should be tested in practice first. 

....Roy


> On Apr 19, 2016, at 12:19 AM, Mark Nottingham <mnot@mnot.net> wrote:
> 
>> On 16 Apr 2016, at 6:42 AM, Roy T. Fielding <fielding@gbiv.com> wrote:
>> 
>> I think I would prefer that be solved by allowing last-byte-pos to be empty, just like it is for the Range request.  I think such a fix is just as likely to be interoperable as introducing a special range type (same failure cases).
> 
> IIRC the issue is that the failure case for a cache -- especially in an intermediary -- is not so simple; if Content-Range parsing fails and something gets stored, the results are unpredictable, and *could* be a lot worse than an unsupported new range-unit (which would just get ignored).
> 
> Historically, we've been shy about changing the semantics or syntax of widely-deployed protocol elements, for the excellent reason that we don't -- and can't -- know all of the implementations, or consequences.
> 
> On the other hand, introducing a new range-unit is expensive; it won't be recognised and taken advantage of in things like proxy caches until they're updated, which we know can take a very long time. Furthermore, Rodger showed us a variety of bugs in existing client implementations that assume that the only range-unit that will ever exist is 'bytes'.
> 
> It would be helpful if we had some data about implementation behaviours regarding these two things (open-ended Content-Range and new range-unit); even if we don't know all of the implementations, we might be able to rule out one (or both) of them based upon practicality. 
> 
> Cheers,
> 
> 
> 
> --
> Mark Nottingham   https://www.mnot.net/
>