[cifs-protocol] [REG:111061070310825] RE: [MS-PCCRC]: Handling of multi-range Range: headers is undefined.
Christopher R. Hertel
crh at ubiqx.mn.org
Tue Jun 21 19:59:06 MDT 2011
I have a concern about the wording of the sample text your team provided.
It is not necessary for the Branchcache content information format
to support multi-range requests. The response to a multi-range request
could clearly be sent as separate content information messages in a
multi-part HTTP response. That type of response would be the correct
response from an HTTP server. In fact, the actual content is sent as a
multi-part HTTP response if a multi-range request is sent.
As far as I can tell, there is no reason that the server could not
response with a multi-part response *except* that current implementations
do not know how to handle multi-part responses containing Content
Information. (I have not actually tested this, ...maybe they *can* handle
multi-part responses and no one knows.)
So, I believe that the proper statement would be:
"Clients implementing the PeerDist 1.0 protocol MUST NOT send requests for multiple byte ranges if peerdist encoding is being requested in the Accepted-Encoding header. Servers inplementing
the PeerDist 1.0 protocol MUST NOT return Content Information in response to a request for multiple byte ranges of content."
Please let me know what you think about my perspective on this.
On Tue, Jun 21, 2011 at 11:42:51PM +0000, Obaid Farooqi wrote:
> Hi Chris:
> We have finished our investigation on your question regarding the response to a multi-range request.
> I discussed the issue with product group and here is what they think is the proper answer.
> "The BranchCache content information format does not support multi-range requests therefore PeerDist 1.0 capable servers cannot send PeerDist Content Information in response to a request for multiple ranges."
> MS-PCCRTP will be modified along the lines of the above statement and I'll let you know when the exact verbiage is available.
> Please let me know if it answers your question. If it does, I'll consider this issue resolved.
> 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
> cifs-protocol mailing list
> cifs-protocol at cifs.org
More information about the cifs-protocol