HOME

TheInfoList



OR:

Byte serving (other names: Range Requests; Byte Range Serving; Page on demand) is the process introduced in
HTTP The Hypertext Transfer Protocol (HTTP) is an application layer protocol in the Internet protocol suite model for distributed, collaborative, hypermedia information systems. HTTP is the foundation of data communication for the World Wide Web, w ...
protocol 1.1 of sending only a portion of a message from a server to a client. Byte serving begins when an HTTP server advertises its willingness to serve partial requests using the ''Accept-Ranges'' response header. A client then requests a specific part of a file from the server using the ''Range'' request header. If the range is valid, the server sends it to the client with a ''206 Partial Content'' status code and a Content-Range header listing the range sent. If the range is invalid, the server responds with a ''416 Requested Range Not Satisfiable'' status code. Clients which request byte-serving might do so in cases in which a large file has been only partially delivered and a limited portion of the file is needed in a particular range. Byte Serving is therefore a method of
bandwidth optimization Bandwidth commonly refers to: * Bandwidth (signal processing) or ''analog bandwidth'', ''frequency bandwidth'', or ''radio bandwidth'', a measure of the width of a frequency range * Bandwidth (computing), the rate of data transfer, bit rate or thr ...
. In the HTTP/1.0 standard, clients were only able to request an entire document. By allowing byte-serving, clients may choose to request any portion of the resource. One advantage of this capability is when a large media file is being requested, and that media file is properly formatted, the client may be able to request just the portions of the file known to be of interest. This is essential for serving video files; if a server lacks this feature, videos hosted on that server may not be playable until the entire file has been downloaded by the client, and seeking within the file may be disabled. Similarly
PDF Portable Document Format (PDF), standardized as ISO 32000, is a file format developed by Adobe in 1992 to present documents, including text formatting and images, in a manner independent of application software, hardware, and operating systems ...
files can be optimized for byte serving to allow multi-gigabyte files to be instantly viewable in the browser by only requesting the data required to render the current page. Byte serving can also be used by multihomed clients to simultaneously download a resource over multiple network interfaces. To achieve this type of application-layer link aggregation, multiple HTTP sessions are established and logical file segments are collaboratively downloaded from the server and reassembled at the client. This allows full utilization of several end-to-end paths and therefore leads to an increased download speed. The use of the Chunked Transfer-Encoding is not byte-serving, but is instead a method in which an HTTP/1.1 server sends the entire resource, but in several separate portions (or chunks) of data. It is often used when a server does not know exactly how much data there will be in the total response, allowing the server to start sending data to the client straight away without having to buffer the response and determine the exact length before it begins sending it to the client. This improves latency and reduces memory requirements while preserving the ability to reuse the connection after the response is completed. Byte serving and chunking are compatible and can be used with or without the other. Later versions of the HTTP protocol continue to support byte serving,RFC 7540 Section 8
/ref> though the use of chunked transfer encoding is superseded by alternative methods.


See also

* HTTP status codes *
HTTP headers The Hypertext Transfer Protocol (HTTP) is an application layer protocol in the Internet protocol suite model for distributed, collaborative, hypermedia information systems. HTTP is the foundation of data communication for the World Wide Web, w ...
*
Content negotiation Content negotiation refers to mechanisms defined as a part of HTTP that make it possible to serve different versions of a document (or more generally, representations of a resource) at the same URI, so that user agents can specify which version fi ...


References

Web browsers Hypertext Transfer Protocol