[cifs-protocol] [REG:111061070310825] [MS-PCCRC]: Handling of multi-range Range: headers is undefined.
bburgin at microsoft.com
Fri Jun 10 13:35:15 MDT 2011
[dochelp to bcc]
[Adding case number; adding casemail]
I created 111061070310825 to track this. One of the engineers from the Protocols team will reply soon.
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).
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
* 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.
http://www.ubiqx.com/ Data Storage and Systems Consulting
More information about the cifs-protocol