[cifs-protocol] [REG:111061070310825] [MS-PCCRC]: Handling of multi-range Range: headers is undefined.

Bryan Burgin bburgin at microsoft.com
Fri Jun 10 13:35:15 MDT 2011

[dochelp to bcc]
[Adding case number; adding casemail]

Hi Chris,

I created 111061070310825 to track this.  One of the engineers from the Protocols team will reply soon.


-----Original Message-----
From: ubiqx Consulting, Inc. [mailto:team at ubiqx.com] 
Sent: Friday, June 10, 2011 11:28 AM
To: Interoperability Documentation Help
Cc: cifs-protocol at samba.org
Subject: [MS-PCCRC]: Handling of multi-range Range: headers is undefined.

RFC 2616 defines the format for the Range: header in such a way as to allow multiple ranges to be specified in a single header line.  An example given in [RFC2616, section 14.35.1] is as follows:

  - The first and last bytes only (bytes 0 and 9999):  bytes=0-0,-1

When I send a multiple byte range request, such as the following, to an IIS server running on Windows 2008R2 with BranchCache PeerDist enabled, I do not receive a PeerDist response (even though I know that the PeerDist Content Information has been calculated).

  Range: bytes=1024-66559,-67890

Instead, I receive a (perfectly legal) standard multipart response.

There really is nothing wrong with the response.  The server has the option of choosing not to send a PeerDist-encoded response.  However, [MS-PCCRC] and [MS-PCCRTP] do not provide any guidance on the following topics:

 * Are multi-range requests supported at all by PeerDist 1.0?

 * If not, "SHOULD" the server simply ignore the "peerdist" option in the
   Accept_Encoding header?

 * If multi-range requests are supported, how should the multiple PeerDist
   Content Information blocks be presented to the client?

I imagine one of two answers.  Either:
* PeerDist 1.0 capable servers MUST NOT send PeerDist Content
  Information in response to a request for multiple ranges,
* The HTTP1.1 response should be multipart (multipart/byteranges?) and
  each PeerDist range should be contained within a boundary.

I suppose that the answer will depend upon what the current Windows clients can accept.

Please let me know how PeerDist 1.0 MUST/SHOULD/MAY handle multi-range requests.


Chris -)-----

http://www.ubiqx.com/               Data Storage and Systems Consulting

More information about the cifs-protocol mailing list