menu move to sidebar hide Navigation Main page Contents Current events Random article About Wikipedia Contact us Contribute Help Learn to edit Community portal Recent changes Upload file Special pages Search Search Appearance Donate Create account Log in Personal tools Donate Create account Log in Contents move to sidebar hide (Top) 1 See also 2 References Toggle the table of contents Byte serving 2 languages Deutsch Français Edit links Article Talk English Read Edit View history Tools Tools move to sidebar hide Actions Read Edit View history General What links here Related changes Upload file Permanent link Page information Cite this page Get shortened URL Print/export Download as PDF Printable version In other projects Wikidata item Appearance move to sidebar hide From Wikipedia, the free encyclopedia HTTP facility to fetch a specific part of a file HTTP Persistence Compression HTTPS QUIC Request methods OPTIONS GET HEAD POST PUT DELETE TRACE CONNECT PATCH Header fields Cookie ETag Location HTTP referer DNT X-Forwarded-For Upgrade Response status codes 301 Moved Permanently 302 Found 303 See Other 403 Forbidden 404 Not Found 451 Unavailable for Legal Reasons Security access control methods Basic access authentication Digest access authentication Security vulnerabilities HTTP header injection HTTP request smuggling HTTP response splitting HTTP parameter pollution v t e Byte serving (other names: Range Requests ; Byte Range Serving ; [ 1 ] Page on demand [ 2 ] ) is the process introduced in HTTP 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. [ 3 ] 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 . [ 4 ] 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 files can be optimized for byte serving to allow large files to be instantly viewable in the browser by only requesting the data required to render the current page. [ 5 ] Adobe has long assisted the use of byte serving by a feature in Adobe Acrobat that saves PDF files with an optional "Fast Web View" structure that is optimized for "page-at-a-time downloading." [ 5 ] Byte serving can also be used by multihomed clients to simultaneously download a resource over multiple network interfaces. [ 6 ] 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. Byte serving is also used for accessing relatively small subsets of large datasets, such as multivariate GRIB datafiles produced and shared by Numerical Weather Prediction models. Software such as WGRIB2 can identify and select individual byte-ranges out of weather forecast data served by systems such as the NOAA . 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. [ 7 ] 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, [ 8 ] though the use of chunked transfer encoding is superseded by alternative methods. See also [ edit ] HTTP status codes HTTP headers Content negotiation References [ edit ] ^ Apache Week. HTTP/1.1 ^ Byte Serving: definition of byte serving in the Free Online Encyclopedia ^ RFC 7233: Hypertext Transfer Protocol (HTTP/1.1): Range Requests ^ Key Differences between HTTP/1.0 and HTTP/1.1 "A typical example is a server's sending an entire (large) resource when the client only needs a small part of it. There was no way in HTTP/1.0 to request partial objects... HTTP/1.1 range requests allow a client to request portions of a resource." ^ a b Enable Fast Web View in a PDF ^ Enhancing Video-on-Demand Playout over Multiple Heterogeneous Access Networks by D. Kaspar, K. R. Evensen, P. E. Engelstad, A. F. Hansen, P. Halvorsen, and C. Griwodz. In: IEEE Consumer Communications and Networking Conference (CCNC), ISBN   978-1-4244-5176-0 , 2010 ^ "HTTP Chunking" . Archived from the original on 2012-02-08. ^ RFC 7540 Section 8 Retrieved from " https://en.wikipedia.org/w/index.php?title=Byte_serving&oldid=1336673127 " Categories : Web browsers Hypertext Transfer Protocol Hidden categories: Articles with short description Short description is different from Wikidata This page was last edited on 5 February 2026, at 02:47  (UTC) . Text is available under the Creative Commons Attribution-ShareAlike 4.0 License ; additional terms may apply. By using this site, you agree to the Terms of Use and Privacy Policy . Wikipedia® is a registered trademark of the Wikimedia Foundation, Inc. , a non-profit organization. Privacy policy About Wikipedia Disclaimers Contact Wikipedia Legal & safety contacts Code of Conduct Developers Statistics Cookie statement Mobile view Search Search Toggle the table of contents Byte serving 2 languages Add topic