206 Partial Content

Success - Returning requested range of data

HTTP 206 Partial Content

What It Means

The HTTP 206 Partial Content status code indicates that the server is successfully fulfilling a range request. The response contains only the portion of the resource specified by the Range header in the request.

Common Use Cases

  • Video streaming: Loading video segments as needed (seeking)
  • Resumable downloads: Continuing interrupted file downloads
  • PDF viewers: Loading specific pages on demand
  • Audio streaming: Jumping to specific timestamps

Example Request/Response

# Client requests bytes 0-1023 of a file
GET /video.mp4 HTTP/1.1
Host: cdn.example.com
Range: bytes=0-1023

# Server returns partial content
HTTP/1.1 206 Partial Content
Content-Type: video/mp4
Content-Length: 1024
Content-Range: bytes 0-1023/1048576
Accept-Ranges: bytes

[1024 bytes of video data]

Required Headers

Header Purpose
Content-Range Indicates which bytes are being returned and total size
Content-Length Size of the partial content being returned
Accept-Ranges Indicates server supports range requests (usually "bytes")

Range Header Formats

# First 500 bytes
Range: bytes=0-499

# Bytes from 500 to end
Range: bytes=500-

# Last 500 bytes
Range: bytes=-500

# Multiple ranges (multipart response)
Range: bytes=0-100, 200-300

Server Support

To check if a server supports range requests:

HEAD /large-file.zip HTTP/1.1

HTTP/1.1 200 OK
Accept-Ranges: bytes        ← Range requests supported
Content-Length: 104857600

Frequently Asked Questions

What is HTTP 206 Partial Content?
HTTP 206 Partial Content is a success response indicating that the server is returning only a portion of the requested resource. This happens when the client sends a Range header specifying which bytes it wants. It is essential for video streaming, resumable downloads, and PDF viewers.
How do range requests work?
The client sends a Range header (e.g., 'Range: bytes=0-1023') specifying which bytes it needs. The server responds with 206 Partial Content, a Content-Range header showing which bytes are included and the total size, and only those requested bytes in the body. This avoids downloading the entire file.
How does video streaming use 206 Partial Content?
When you seek to a specific point in a video, the browser sends a range request for the bytes at that position. The server returns only those bytes with a 206 response. This allows efficient streaming without downloading the entire video file, and enables features like seeking and adaptive bitrate streaming.
How do resumable downloads work with 206?
If a download is interrupted, the client notes how many bytes were received. When retrying, it sends a Range header starting from the last received byte (e.g., 'Range: bytes=5242880-'). The server resumes from that point with a 206 response, avoiding re-downloading the entire file.
How do I check if a server supports range requests?
Send a HEAD request and look for the 'Accept-Ranges: bytes' header in the response. If present, the server supports byte range requests. You can also check the response to a GET request for the Accept-Ranges header. If the value is 'none' or the header is absent, range requests are not supported.

Monitor your CDN and media endpoints

UptimeSignal verifies your streaming endpoints are responding correctly.

Start monitoring free →

Related Status Codes

More Resources