14.17 Content-Range
Connected: An Internet Encyclopedia
14.17 Content-Range
Up:
Connected: An Internet Encyclopedia
Up:
Requests For Comments
Up:
RFC 2068
Up:
14 Header Field Definitions
Prev: 14.16 Content-MD5
Next: 14.18 Content-Type
14.17 Content-Range
14.17 Content-Range
The Content-Range entity-header is sent with a partial entity-body to
specify where in the full entity-body the partial body should be
inserted. It also indicates the total size of the full entity-body.
When a server returns a partial response to a client, it must
describe both the extent of the range covered by the response, and
the length of the entire entity-body.
Content-Range = "Content-Range" ":" content-range-spec
content-range-spec = byte-content-range-spec
byte-content-range-spec = bytes-unit SP first-byte-pos "-"
last-byte-pos "/" entity-length
entity-length = 1*DIGIT
Unlike byte-ranges-specifier values, a byte-content-range-spec may
only specify one range, and must contain absolute byte positions for
both the first and last byte of the range.
A byte-content-range-spec whose last-byte-pos value is less than its
first-byte-pos value, or whose entity-length value is less than or
equal to its last-byte-pos value, is invalid. The recipient of an
invalid byte-content-range-spec MUST ignore it and any content
transferred along with it.
Examples of byte-content-range-spec values, assuming that the entity
contains a total of 1234 bytes:
- The first 500 bytes:
bytes 0-499/1234
- The second 500 bytes:
bytes 500-999/1234
- All except for the first 500 bytes:
bytes 500-1233/1234
- The last 500 bytes:
bytes 734-1233/1234
When an HTTP message includes the content of a single range (for
example, a response to a request for a single range, or to a request
for a set of ranges that overlap without any holes), this content is
transmitted with a Content-Range header, and a Content-Length header
showing the number of bytes actually transferred. For example,
HTTP/1.1 206 Partial content
Date: Wed, 15 Nov 1995 06:25:24 GMT
Last-modified: Wed, 15 Nov 1995 04:58:08 GMT
Content-Range: bytes 21010-47021/47022
Content-Length: 26012
Content-Type: image/gif
When an HTTP message includes the content of multiple ranges (for
example, a response to a request for multiple non-overlapping
ranges), these are transmitted as a multipart MIME message. The
multipart MIME content-type used for this purpose is defined in this
specification to be "multipart/byteranges". See appendix 19.2 for its
definition.
A client that cannot decode a MIME multipart/byteranges message
should not ask for multiple byte-ranges in a single request.
When a client requests multiple byte-ranges in one request, the
server SHOULD return them in the order that they appeared in the
request.
If the server ignores a byte-range-spec because it is invalid, the
server should treat the request as if the invalid Range header field
did not exist. (Normally, this means return a 200 response containing
the full entity). The reason is that the only time a client will make
such an invalid request is when the entity is smaller than the entity
retrieved by a prior request.
Next: 14.18 Content-Type
Connected: An Internet Encyclopedia
14.17 Content-Range
|