DSpace 7 has support for the range header on the bitstream endpoint. We can use this to just get parts of a bitstream or for other features such as streaming video.
The range header indicates which part of a bitstream the server should return, currently we support the following formats:
Open-range:
Range: bytes=<range-start>-
Closed-range:
Range: bytes=<range-start>-<range-end>
Multiple-ranges:
Range: bytes=<range-start>-<range-end>, <range-start>-<range-end>, <range-start>-<range-end>
For more information: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Range
Note that DSpace only supports bytes as the unit.
For the ETAG header we use the checksum of a bitstream.
The following other HTTP-headers are supported
Header | Explanation |
---|---|
If-None-Match | If this is equal to the checksum of the requested bitstream, a 304 will be returned. |
If-Modified-Since | The bitstream will only be returned if it has been modified since the given date |
If-Match | Only returns the bitstream if If-Match contains the checksum or "*" |
If-Not-Modified-Since | The bitstream will only be returned if it has NOT been modified since the given date |