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

Craig Pratt <craig@ecaspia.com> Mon, 18 April 2016 09:09 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 36FA012D6C4 for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Mon, 18 Apr 2016 02:09:31 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -7.193
X-Spam-Level:
X-Spam-Status: No, score=-7.193 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HEADER_FROM_DIFFERENT_DOMAINS=0.001, HTML_MESSAGE=0.001, MIME_HTML_ONLY=0.723, 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 (2048-bit key) header.d=ecaspia-com.20150623.gappssmtp.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 G9IY5aUSULfw for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Mon, 18 Apr 2016 02:09:29 -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 3A81012D54C for <httpbisa-archive-bis2Juki@lists.ietf.org>; Mon, 18 Apr 2016 02:09:29 -0700 (PDT)
Received: from lists by frink.w3.org with local (Exim 4.80) (envelope-from <ietf-http-wg-request@listhub.w3.org>) id 1as579-0007N3-OD for ietf-http-wg-dist@listhub.w3.org; Mon, 18 Apr 2016 09:05:03 +0000
Resent-Date: Mon, 18 Apr 2016 09:05:03 +0000
Resent-Message-Id: <E1as579-0007N3-OD@frink.w3.org>
Received: from maggie.w3.org ([128.30.52.39]) by frink.w3.org with esmtps (TLS1.2:DHE_RSA_AES_128_CBC_SHA1:128) (Exim 4.80) (envelope-from <craig@caspiaconsulting.com>) id 1as573-0006Uy-VC for ietf-http-wg@listhub.w3.org; Mon, 18 Apr 2016 09:04:57 +0000
Received: from mail-pf0-f171.google.com ([209.85.192.171]) by maggie.w3.org with esmtps (TLS1.2:RSA_ARCFOUR_SHA1:128) (Exim 4.80) (envelope-from <craig@caspiaconsulting.com>) id 1as56y-0000f3-8E for ietf-http-wg@w3.org; Mon, 18 Apr 2016 09:04:56 +0000
Received: by mail-pf0-f171.google.com with SMTP id e128so78742752pfe.3 for <ietf-http-wg@w3.org>; Mon, 18 Apr 2016 02:04:31 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ecaspia-com.20150623.gappssmtp.com; s=20150623; h=subject:to:references:cc:from:organization:message-id:date :user-agent:mime-version:in-reply-to:content-transfer-encoding; bh=RKW2qU0ShBWihOkf6TlTOHgn5SR1CEsbiibaFb5ihx8=; b=QgeXf/o9foRsPv+gOo8aLvb+l180fOzp2fyG1fE5+28bY2ra7eLNQei4CRYKQObOPN Dmeehx04zuShGQEpiQrl+S9E4q0yEjoXfVP3V9WcnFz9rn4dYGE3SllLdl5ZzRlwe6VH +Z0G/wPEYFkavJ3MqjOutwrkc078DPKR+jsUvoyjbtrhbojOjkK+/uPO4J/vWMXvtiez 9Hq7gDhrhy7D5jJCz+M9d+55BkzDs5I7JthDboDKKyY38fo+4CpZHNkZT4w0EGNEMOMO /k8yzC/VMGzUY/gEbTDdbzPEa8d8xBqltHq5bLBGiZnVkB5+YMXwqpw3fJbKUDYXlwPY Z7jA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:subject:to:references:cc:from:organization :message-id:date:user-agent:mime-version:in-reply-to :content-transfer-encoding; bh=RKW2qU0ShBWihOkf6TlTOHgn5SR1CEsbiibaFb5ihx8=; b=mtxxKQeb78xdlcC3uCzq2l3kKUf/3pHU0e6gWnTzT5uhTI+P5cV6+ROcfWvs7PyasJ NVIFbGKAQaiulTMI9hVrszANrWlTZBb2WLTnmPylaVYDq8Yz5jnUjGlSkJ9u+VTqkT4B rp0IbvLmuahtcXbMRomVS7ypcqOi4Vih2eFubCYsEuY8c4uTB8zI7+5rP0yiBJKKu0yC kcIzSS6a2+bK8yllUe8L/KdcnC1HZn3O0vZ1PYCH4x8mlQYUKv4W6lE52+nwPh1hqURa 2r22CmxlNU5vqqsTFJNX/tMfDWAKHAvZEfsCV9IP9fgBRsl3/Jf/ofQ8KQ/j5tlsLbPQ 22tg==
X-Gm-Message-State: AOPr4FUIaoe9C8Jg01oyBjDmkZkgUAMAhJwFguN9AqC5FWHQyrfa4jvR6YhOAyRe796tiA==
X-Received: by 10.98.75.10 with SMTP id y10mr48151220pfa.32.1460970265521; Mon, 18 Apr 2016 02:04:25 -0700 (PDT)
Received: from [10.10.1.104] (50-193-209-61-static.hfc.comcastbusiness.net. [50.193.209.61]) by smtp.googlemail.com with ESMTPSA id dy6sm82176736pab.48.2016.04.18.02.04.23 (version=TLSv1/SSLv3 cipher=OTHER); Mon, 18 Apr 2016 02:04:24 -0700 (PDT)
To: K.Morgan@iaea.org, fielding@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> <0356EBBE092D394F9291DA01E8D28EC2021CEBE9AC@SEM001PD.sg.iaea.org>
Cc: goran.ap.eriksson@ericsson.com, bs7652@att.com, remy@lebeausoftware.org, ietf-http-wg@w3.org, rodger@plexapp.com, julian.reschke@gmx.de, C.Brunhuber@iaea.org
From: Craig Pratt <craig@ecaspia.com>
Organization: Caspia Consulting
Message-ID: <5714A316.1080609@ecaspia.com>
Date: Mon, 18 Apr 2016 02:04:22 -0700
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:38.0) Gecko/20100101 Thunderbird/38.6.0
MIME-Version: 1.0
In-Reply-To: <0356EBBE092D394F9291DA01E8D28EC2021CEBE9AC@SEM001PD.sg.iaea.org>
Content-Type: text/html; charset="windows-1252"
Content-Transfer-Encoding: 7bit
Received-SPF: pass client-ip=209.85.192.171; envelope-from=craig@caspiaconsulting.com; helo=mail-pf0-f171.google.com
X-W3C-Hub-Spam-Status: No, score=-3.9
X-W3C-Hub-Spam-Report: BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, MIME_HTML_ONLY=0.723, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001, W3C_AA=-1, W3C_WL=-1
X-W3C-Scan-Sig: maggie.w3.org 1as56y-0000f3-8E a7bf96aeab88317da20a2ad0beb1da5c
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/5714A316.1080609@ecaspia.com>
Resent-From: ietf-http-wg@w3.org
X-Mailing-List: <ietf-http-wg@w3.org> archive/latest/31492
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>

On 4/18/16 12:34 AM, K.Morgan@iaea.org wrote:
On Friday,15 April 2016 22:43, fielding@gbiv.com wrote:
Oh, never mind, now I see that you are referring to the second number being
fixed.

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).

....Roy
+1000

A very similar idea was proposed before [1] as an I-D [2] by Rodger Coombs. We've also brought this up informally with other members of the WG.

Alas, in our experience range requests don't seem to be a high priority :(  For example, the problem of combining gzip with range requests is still unsolved [3].

[1] https://lists.w3.org/Archives/Public/ietf-http-wg/2015AprJun/0122.html" rel="nofollow">https://lists.w3.org/Archives/Public/ietf-http-wg/2015AprJun/0122.html
[2] https://tools.ietf.org/html/draft-combs-http-indeterminate-range-01" rel="nofollow">https://tools.ietf.org/html/draft-combs-http-indeterminate-range-01
[3] https://lists.w3.org/Archives/Public/ietf-http-wg/2014AprJun/1327.html" rel="nofollow">https://lists.w3.org/Archives/Public/ietf-http-wg/2014AprJun/1327.html
[cp] Yeah, it's unfortunate that no solutions have moved forward for this widely-desired feature. I can only assume that people just started defining proprietary solutions - which is unfortunate. I'll try to be "persistent"... ;^J

[cp] As was mentioned, the issue with just arbitrarily allowing an open-ended Content-Range response (omitting last-byte-pos) is that there's no good way for a client to indicate it can support reception of a Content-Range without a last-byte-pos. So I would fully expect many clients to fail in "unpredictable ways" (disconnecting, crashing, etc).

[cp] I see that the indeterminate length proposal you referenced in your first citation introduces a "Accept-Indefinite-Ranges" header to prevent this issue. But I think this brings with it some other questions. e.g. Would this apply to any/all Range Units which may be introduced in the future? How can a Client issue a request that starts at the "live point"? It feels like it has one hand tied behind its back.

[cp] If I could, I would prefer to go back in time and advocate for an alternate ABNF for the bytes Range Unit. Seeing as that's not an option, I think using this well- and long-defined Range Unit extension mechanism seems like a good path forward as it should not create interoperability issues between clients and servers.

[cp] And I would hope adding a Range Unit would have a low/lower bar for acceptance. e.g. If a Range Unit fills a useful role, is well-defined, and isn't redundant, it seems reasonable that it should be accepted as it shouldn't impact existing HTTP/1.1 semantics. In fact, the gzip case (referenced in your third citation) seems like a perfect application of the Range Unit (better than bytes-live). If there's interest, I'll write up an RFC to demonstrate...

This email message is intended only for the use of the named recipient. Information contained in this email message and its attachments may be privileged, confidential and protected from disclosure. If you are not the intended recipient, please do not read, copy, use or disclose this communication to others. Also please notify the sender by replying to this message and then delete it from your system.


--

craig pratt

Caspia Consulting

craig@ecaspia.com

503.746.8008