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:
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
|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|