webmachine-ruby
webmachine-ruby copied to clipboard
Support Range requests and 206 responses
RFC 2616, Section 3.12
HTTP/1.1 allows a client to request that only part (a range of) the response entity be included within the response. HTTP/1.1 uses range units in the Range (section 14.35) and Content-Range (section 14.16) header fields. An entity can be broken down into subranges according to various structural units.
range-unit = bytes-unit | other-range-unit bytes-unit = "bytes" other-range-unit = token
The only range unit defined by HTTP/1.1 is "bytes". HTTP/1.1 implementations MAY ignore ranges specified using other units.
HTTP/1.1 has been designed to allow implementations of applications that do not depend on knowledge of ranges.
References: 3.12 Range Units, 14.35 Range, 14.16 Content-Range, 14.27 If-Range
Note that according to 14.35.2, "A server MAY ignore the Range header.", so Webmachine is still compliant without this feature, but it is incredibly useful.