Skip to content
Main menu
  • Main page
  • Discover
  • Unexpected connections
  • Topics
  • Random article
  • Search
Your library
  • Saved articles
  • Recent discoveries
  • Rabbit-hole trails
Topic areas
  • Computer Science
  • Mathematics
  • Physics
  • Engineering
  • Biology
  • Economics
  • Curiosities
WikiholeDeeper into Wikipedia
EnglishEN
  • Saved
  • History

  • Article text and media come live from Wikipedia via the official MediaWiki API and are available under the Creative Commons Attribution-ShareAlike 4.0 License; additional terms may apply. Each article links to its source and revision.
  • WikiHole is an independent project and is not affiliated with the Wikimedia Foundation.
  • How ranking works
  • All topics
  • Reading history
  • Random article
  • MediaWiki API

Byte serving

  • Article
  • Rabbit hole
  • Read
  • View history
Tools
Actions
  • Read
  • View history
General
  • Recent changes
  • Related articles
  • Random discovery
This article
Reading time
2 min
Topic
Computer Science
Quality
Start-class
Views
124 in 14 days
Last edited
8 Nov 2026
Print/export
  • Printable version
In other projects
  • Wikidata item
From Wikipedia, the free encyclopedia
Rabbit hole:
  1. Byte serving
Byte serving
HTTP facility to fetch a specific part of a file

Byte serving (other names: Range Requests; Byte Range Serving;1 Page on demand2) 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 3. If the range is invalid, the server responds with a 416 Requested Range Not Satisfiable status code. 4

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.5 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.6 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."6

Byte serving can also be used by multihomed clients to simultaneously download a resource over multiple network interfaces.7 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.8 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,9 though the use of chunked transfer encoding is superseded by alternative methods.

Loading the rest of the article…

Recent changes

Rabbit hole

Where Byte serving leads. Every connection below has a source: a link in this article, a shared Wikipedia category, or CirrusSearch text similarity. Articles already on your trail are left out.

Contents
  • (Top)
  • See also
  • References
  • Recent changes
  • Rabbit hole
Contents
Contents4 sections
  • (Top)
  • See also
  • References
  • Recent changes
  • Rabbit hole

See also

  • HTTP status codes
  • HTTP headers
  • Content negotiation

References

  1. 1Apache Week. HTTP/1.1
  2. 2Byte Serving: definition of byte serving in the Free Online Encyclopedia
  3. 3Bendev Junior. "HTTP Range e If-Range para retomar um download". Bendev em Código (in Brazilian Portuguese).
  4. 4RFC 7233: Hypertext Transfer Protocol (HTTP/1.1): Range Requests
  5. 5Key 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."
  6. 6Enable Fast Web View in a PDF
  7. 7Enhancing 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
  8. 8"HTTP Chunking". Archived from the original on 2012-02-08.
  9. 9RFC 7540 Section 8
Study aids for Byte serving

Terminology

Range Requests
Byte serving (other names: Range Requests; Byte Range Serving; Page on demand) is the process introduced in HTTP protocol 1.1 of sending only a portion of a message from a server to a client.
Byte Range Serving
Byte serving (other names: Range Requests; Byte Range Serving; Page on demand) is the process introduced in HTTP protocol 1.1 of sending only a portion of a message from a server to a client.
Page on demand
Byte serving (other names: Range Requests; Byte Range Serving; Page on demand) is the process introduced in HTTP protocol 1.1 of sending only a portion of a message from a server to a client.

Terms the article defines in bold, quoted in context.

Categories:
  • Web browsers
  • Hypertext Transfer Protocol

577 words · 9 references · revision 1384473605 · CC BY-SA 4.0

General
  • Recent changes
  • Related articles
  • Random discovery
This article
Reading time
2 min
Topic
Computer Science
Quality
Start-class
Views
124 in 14 days
Last edited
8 Nov 2026

Key concepts

  • List of HTTP header fields3
  • HTTP1
  • List of HTTP status codes1
  • PDF1
  • Adobe Acrobat1
  • Multihoming1
  • Link aggregation1
  • GRIB1
  • Numerical Weather Prediction1
  • NOAA National Operational Model Archive and Distribution System1

The articles this one links to most, weighted towards the introduction.

Print/export
  • Printable version
In other projects
  • Wikidata item
Created
26 Oct 2007
History
50 edits
42 contributors
1 edit in the last 30 days
Last edited
8 Nov 2026

50 revisions in total · 42 contributors · +216 / 0 bytes across 1 edits by 1 contributor in the last 30 days

  1. 8 Nov 2026, 11:26 UTCTemporary accountAdditional reference+216diff
  2. 5 Feb 2026, 02:47 UTCCynthia2048mRemove ugly underscores+5diff
  3. 13 Nov 2025, 15:45 UTCDrf5nNo edit summary+426diff
  4. 26 Apr 2025, 01:41 UTCUruiammeAcrobat+229diff
  5. 20 Oct 2022, 07:31 UTCGhostInTheMachineChanging short description from "https" to "HTTP facility to fetch a specific part of a file"+43diff
  6. 20 Oct 2022, 00:28 UTCLymanlin1103No edit summary+28diff
  7. 15 Jan 2022, 17:40 UTCWikiCleanerBotmv2.04b - Bot T20 CW#61 - Fix errors for CW project (Reference before punctuation)0diff
  8. 6 Jan 2022, 17:45 UTCAnonymous contributorCleaning up header, removing dead links, clarifying that the semantics of range requests are still supported in HTTP2 and above, and adding proper links to RFC 7233 (the actual range request spec) and RFC 7540 (usage in HTTP2)+20diff

View full revision history

Created
26 Oct 2007
History
50 edits
42 contributors
1 edit in the last 30 days
Last edited
8 Nov 2026

Related articles are unavailable right now.

Wikipedia is rate limiting us right now. Try again in a minute.