Review of draft-ietf-httpbis-p5-range-19.txt

Alexey Melnikov <alexey.melnikov@isode.com> Tue, 08 May 2012 20:40 UTC

Return-Path: <ietf-http-wg-request@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 86EA81F0C62 for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Tue, 8 May 2012 13:40:37 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.523
X-Spam-Level:
X-Spam-Status: No, score=-6.523 tagged_above=-999 required=5 tests=[AWL=4.076, BAYES_00=-2.599, RCVD_IN_DNSWL_HI=-8]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id pI9-0tjXc6MS for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Tue, 8 May 2012 13:40:36 -0700 (PDT)
Received: from frink.w3.org (frink.w3.org [128.30.52.56]) by ietfa.amsl.com (Postfix) with ESMTP id BCFD221F849C for <httpbisa-archive-bis2Juki@lists.ietf.org>; Tue, 8 May 2012 13:40:33 -0700 (PDT)
Received: from lists by frink.w3.org with local (Exim 4.69) (envelope-from <ietf-http-wg-request@listhub.w3.org>) id 1SRrAf-0004ba-8E for ietf-http-wg-dist@listhub.w3.org; Tue, 08 May 2012 20:38:09 +0000
Received: from maggie.w3.org ([128.30.52.39]) by frink.w3.org with esmtp (Exim 4.69) (envelope-from <alexey.melnikov@isode.com>) id 1SRrAO-0004YK-AY for ietf-http-wg@listhub.w3.org; Tue, 08 May 2012 20:37:52 +0000
Received: from rufus.isode.com ([62.3.217.251]) by maggie.w3.org with esmtp (Exim 4.72) (envelope-from <alexey.melnikov@isode.com>) id 1SRrAL-0005WO-IP for ietf-http-wg@w3.org; Tue, 08 May 2012 20:37:50 +0000
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; t=1336509448; d=isode.com; s=selector; i=@isode.com; bh=FqB1n4HWZk66pVCfJe91cCJaYecqmkplm/ZBQ3TdKDY=; h=From:Sender:Reply-To:Subject:Date:Message-ID:To:Cc:MIME-Version: In-Reply-To:References:Content-Type:Content-Transfer-Encoding: Content-ID:Content-Description; b=YivHz96Cq/S24oxi++aB0P3IZyn4XDMkxV9MNMjOxKAjmhs4bKVgqBkRWmdopWEgoRmQu0 cd751fmmdX2PPwqjtoLy1pCN8jRiBjewDfPJVSYjomfJuypDxgW/w+8gz7CiN0+QAAiG+Q CWvW+y8mLEjI3GFfGfVJK1IjMAvWK2w=;
Received: from [172.16.1.29] (shiny.isode.com [62.3.217.250]) by rufus.isode.com (submission channel) via TCP with ESMTPSA id <T6mEAQB=g2ld@rufus.isode.com>; Tue, 8 May 2012 21:37:22 +0100
X-SMTP-Protocol-Errors: PIPELINING
Message-ID: <4FA97BBD.5050500@isode.com>
Date: Tue, 08 May 2012 21:02:05 +0100
From: Alexey Melnikov <alexey.melnikov@isode.com>
User-Agent: Mozilla/5.0 (Windows NT 6.1; rv:10.0.2) Gecko/20120216 Thunderbird/10.0.2
To: HTTP Working Group <ietf-http-wg@w3.org>
MIME-Version: 1.0
Content-Type: text/plain; charset="ISO-8859-1"; format="flowed"
Content-Transfer-Encoding: 7bit
Received-SPF: pass client-ip=62.3.217.251; envelope-from=alexey.melnikov@isode.com; helo=rufus.isode.com
X-W3C-Hub-Spam-Status: No, score=-2.0
X-W3C-Hub-Spam-Report: BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, SPF_PASS=-0.001, T_RP_MATCHES_RCVD=-0.01
X-W3C-Scan-Sig: maggie.w3.org 1SRrAL-0005WO-IP 2d9f5f0fa5f57e07c50680adc58d4049
X-Original-To: ietf-http-wg@w3.org
Subject: Review of draft-ietf-httpbis-p5-range-19.txt
Archived-At: <http://www.w3.org/mid/4FA97BBD.5050500@isode.com>
Resent-From: ietf-http-wg@w3.org
X-Mailing-List: <ietf-http-wg@w3.org> archive/latest/13528
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>
Resent-Message-Id: <E1SRrAf-0004ba-8E@frink.w3.org>
Resent-Date: Tue, 08 May 2012 20:38:09 +0000

Hi,
Another late review:

3.1.  206 Partial Content

    The server has fulfilled the partial GET request for the resource.
    The request MUST have included a Range header field (Section 5.4)
    indicating the desired range, and MAY have included an If-Range
    header field (Section 5.3) to make the request conditional.

    The response MUST include the following header fields:

    o  Either a Content-Range header field (Section 5.2) indicating the
       range included with this response, or a multipart/byteranges
       Content-Type including Content-Range fields for each part.  If a
       Content-Length header field is present in the response, its value
       MUST match the actual number of octets transmitted in the message
       body.

Sorry for being dense, but did you mean the specific range or the whole 
original message body?


      Accept-Ranges: none

Maybe "none" should also be registered in the associated IANA registry?


5.2.  Content-Range

      byte-range-resp-spec    = (first-byte-pos "-" last-byte-pos)
                              / "*"

      instance-length         = 1*DIGIT

Are leading zeroes allowed? (I.e. would an implementation that just 
treat these values as strings be Ok?) But more importantly:
  Is there a maximum limit on this value? Is 128bit unsigned value Ok?
  Is there a minimum size any implementation need to support? Is 8bit Ok?

5.4.1.  Byte Ranges

      first-byte-pos  = 1*DIGIT
      last-byte-pos   = 1*DIGIT

As above.

      suffix-length = 1*DIGIT

As above.


Appendix A.  Internet Media Type multipart/byteranges

    The multipart/byteranges media type includes one or more parts, each
    with its own Content-Type and Content-Range fields.  The required
    boundary parameter specifies the boundary string used to separate
    each body-part.

I think the last sentence should be in the template (below).

    Type name:  multipart

    Subtype name:  byteranges

    Required parameters:  boundary

    Optional parameters:  none

    Encoding considerations:  only "7bit", "8bit", or "binary" are
       permitted

    Security considerations:  none

I don't think this is a valid answer here. Either think about security 
issues and add some text here, or replace this with "security 
considerations were not assessed" (or similar).


I suspect Appendix D contains more useful changes than Appendix B.
E.g. new IANA registries should be mentioned.