Partial content stream retrieval in HTTP requests

A CMIS application can retrieve a subset of a content stream by sending an HTTP request that limits the amount of content that is downloaded at one time from the content repository. Limiting the content stream to smaller chunks can help avoid timeouts and other bandwidth problems, particularly when the size of the accessed content is large.

OASIS CMIS specification

The OASIS CMIS specification states that specifying a byte range in an HTTP request for a content stream is a valid method for limiting the amount of content retrieval at one time.

IBM ECM CMIS implementation

IBM® Content Management Interoperability Services for FileNet® Content Manager (IBM ECM CMIS) implements a subset of the HTTP range request header functionality documented in OASIS and RFC specifications. IBM ECM CMIS does not support multiple-byte ranges in the HTTP range request header. If more than one byte range is in the HTTP range request header, the content stream contains only the content that is associated with the first byte range.

For example, if an HTTP request specifies the following byte ranges:
Range: bytes=500-999, 1300-1700

then the HTTP response contains only bytes 500 - 999 of the content stream. The second range (1300 - 1700) does not generate an error, but no content in these parameters is returned because it is a secondary range in the header.