DSpace 7 supports the HTTP Range header on the bitstream content endpoint. We can use this to just get parts of a bitstream, pause and resume downloads using a download manager or for other features such as basic HTML 5 video streaming. DSpace advertises this support with the "Accept-Ranges: bytes" response header.


The Range header indicates which part of a bitstream the server should return, currently we support the following formats:


Range: bytes=<range-start>-


Range: bytes=<range-start>-<range-end>


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 response header is populated with the checksum of a bitstream. This should allow users to check if a bitstream has been updated using a HTTP Head request.


The following other HTTP-headers are supported

If-None-MatchIf this is equal to the checksum of the requested bitstream, a 304 will be returned.
If-Modified-SinceThe bitstream will only be returned if it has been modified since the given date
If-MatchOnly returns the bitstream if If-Match contains the checksum or "*"
If-Not-Modified-SinceThe bitstream will only be returned if it has NOT been modified since the given date