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

Obaid Farooqi obaidf at microsoft.com
Fri Jun 10 15:13:49 MDT 2011

Hi Chris:
I'll help you with this issue. I'll be in touch as soon as I have an answer.

Obaid Farooqi
Escalation Engineer | Microsoft

Exceeding your expectations is my highest priority.  If you would like to provide feedback on your case you may contact my manager at allisong at microsoft.com

-----Original Message-----
From: ubiqx Consulting, Inc. [mailto:team at ubiqx.com]
Sent: Friday, June 10, 2011 1:28 PM
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

Microsoft is committed to protecting your privacy.  Please read the Microsoft Privacy Statement for more information.The above is an email for a support case from Microsoft Corp.REPLY ALL TO THIS MESSAGE or INCLUDE casemail at microsoft.com IN YOUR REPLY if you want your response added to the case automatically. For technical assistance, please include the Support Engineer on the TO: line. Thank you.

More information about the cifs-protocol mailing list