206 Partial Content to kod odpowiedzi HTTP, który serwer zwraca w sytuacji, gdy klient poprosił o pobranie tylko określonego fragmentu zasobu — nie całego pliku. Odpowiedź ta jest normalną i pożądaną częścią protokołu HTTP/1.1, opisaną w RFC 7233. Stosuje się ją przede wszystkim przy przesyłaniu dużych plików multimedialnych, obsłudze pobierań z przerwaniem oraz strumieniowaniu wideo.
- 206 to odpowiedź na żądanie zawierające nagłówek
Range, nie błąd serwera. - Umożliwia pobieranie pliku od konkretnego bajtu, bez ponownego ściągania całości.
- Fundamentalne znaczenie dla odtwarzaczy wideo, podcastów i menedżerów pobierania.
- Serwer musi obsługiwać zakresy bajtów (
Accept-Ranges: bytes), by odpowiedź 206 była możliwa.
Jak 206 Partial Content działa w praktyce
Żądanie zakresu bajtów — jak klient informuje serwer
Klient wysyła żądanie HTTP z nagłówkiem Range, wskazując dokładnie, które bajty pliku go interesują. Gdy użytkownik przewija wideo na YouTube do minuty 4:30, przeglądarka nie pobiera całego pliku od nowa — wysyła nowe żądanie z zakresem odpowiadającym tej pozycji czasowej. Serwer odpowiada kodem 206 i przesyła wyłącznie ten fragment.
Przykładowe żądanie wygląda następująco:
GET /film.mp4 HTTP/1.1
Host: example.com
Range: bytes=1048576-2097151Serwer odpowiada nagłówkiem Content-Range: bytes 1048576-2097151/10485760, informując jednocześnie o całkowitym rozmiarze pliku.
Czym różni się 206 od 200 OK?
Odpowiedź 200 OK oznacza, że serwer przesyła pełny zasób — każdy bajt pliku od początku do końca. Kod 206 sygnalizuje celowe, częściowe dostarczenie treści, poprzedzone świadomym żądaniem klienta. Różnica jest fundamentalna z punktu widzenia buforowania i wznawiania pobierań: menedżer plików, który otrzymał 206, wie, że może zapisać fragment i kontynuować pobieranie od tego miejsca po przerwie.
| Cecha | 200 OK | 206 Partial Content |
|---|---|---|
| Zawartość odpowiedzi | Cały zasób | Fragment zasobu |
| Nagłówek Range w żądaniu | Brak lub zignorowany | Wymagany i obsłużony |
| Nagłówek Content-Range | Nieobecny | Zawsze obecny |
| Typowe zastosowanie | HTML, obrazki, pliki tekstowe | Wideo, audio, duże archiwa |
| Możliwość wznowienia pobierania | Nie | Tak |
Wieloczęściowe odpowiedzi — multipart/byteranges
Protokół HTTP pozwala na jednoczesne żądanie kilku niesąsiadujących fragmentów w ramach jednego żądania. Serwer odpowiada wtedy typem Content-Type: multipart/byteranges, pakując każdy zakres jako osobną część odpowiedzi. W praktyce tę funkcję obsługują przede wszystkim zaawansowane odtwarzacze strumieniowe i techniki Adaptive Bitrate Streaming (ABR), jak HLS czy DASH.
Kiedy serwer odmawia obsługi zakresów?
Jeśli serwer nie obsługuje zakresów bajtów, odpowiada nagłówkiem Accept-Ranges: none i zwraca kod 200 z pełnym zasobem, ignorując żądanie Range. Część serwerów — szczególnie te za reverse proxy lub CDN ze specyficzną konfiguracją — może blokować obsługę zakresów dla plików poniżej określonego rozmiaru, co spowalnia ładowanie mediów na stronach.
Znaczenie dla SEO i widoczności
Prawidłowa obsługa kodu 206 wpływa bezpośrednio na wskaźniki Core Web Vitals, szczególnie na Largest Contentful Paint (LCP), gdy głównym elementem strony jest wideo lub duże zdjęcie pobierane progresywnie. Google traktuje szybkość ładowania mediów jako jeden z sygnałów rankingowych od czasu wdrożenia Page Experience Update w 2021 roku. Strona, której serwer poprawnie obsługuje zakresy bajtów, umożliwia przeglądarce równoległe pobieranie fragmentów zasobu, co przyspiesza renderowanie.
Z perspektywy crawl budget odpowiedź 206 nie powinna pojawiać się w logach Googlebot dla zasobów HTML — bot pobiera strony w całości i żądania zakresów mogą sygnalizować nieprawidłową konfigurację serwera lub problemy z proxy. Natomiast dla plików wideo osadzonych na stronie prawidłowe kody 206 oznaczają, że infrastruktura działa efektywnie. Podczas audytu SEO analiza logów serwera pozwala wykryć serwery, które błędnie odpowiadają 200 zamiast 206 przy żądaniach Range — co bezpośrednio wydłuża czas buforowania filmów i zwiększa współczynnik porzuceń.
Obsługa 206 ma znaczenie także w kontekście pozycjonowania stron zawierających treści wideo, podcasty lub do pobrania — Google Video Search i indeksowanie rich results dla wideo działają sprawniej, gdy pliki są serwowane z prawidłową obsługą zakresów.
curl -I -H "Range: bytes=0-1" https://twojastrona.pl/plik.mp4 — w odpowiedzi powinno pojawić się “206 Partial Content”, nie “200 OK”.FAQ
Czy kod 206 to błąd serwera?
Nie — kod 206 Partial Content to odpowiedź informacyjna o poprawnym działaniu, nie błąd. Kody błędów zaczynają się od cyfry 4 (błędy klienta, np. 404) lub 5 (błędy serwera, np. 500). Kod 206 należy do grupy 2xx, oznaczającej pomyślne przetworzenie żądania. Pojawienie się 206 w logach serwera przy plikach multimedialnych to sygnał, że infrastruktura działa prawidłowo.
Jak sprawdzić, czy mój serwer obsługuje Partial Content?
Najprostszy sposób to wywołanie żądania z nagłówkiem Range za pomocą narzędzia curl w terminalu: curl -I -H "Range: bytes=0-100" https://twojastrona.pl/video.mp4. Jeśli serwer obsługuje zakresy, w odpowiedzi zobaczysz status 206 i nagłówek Content-Range. Brak obsługi objawia się odpowiedzią 200 z pełnym plikiem lub kodem 416 Range Not Satisfiable przy nieprawidłowym zakresie.
Czym różni się 206 od kodu 416?
Kod 416 Range Not Satisfiable to odpowiedź błędu zwracana wtedy, gdy klient żąda zakresu wykraczającego poza rzeczywisty rozmiar pliku — na przykład prosi o bajty 5000–6000 w pliku liczącym tylko 4000 bajtów. Kod 206 pojawia się, gdy zakres jest prawidłowy i serwer może go obsłużyć. Te dwa kody są ze sobą powiązane — oba dotyczą mechanizmu Range Requests, ale 416 sygnalizuje błąd po stronie klienta, a 206 sukces.
Kiedy stosowanie 206 jest niezbędne?
Obsługa kodu 206 jest niezbędna wszędzie tam, gdzie użytkownicy mają możliwość przewijania treści przed pełnym załadowaniem: odtwarzacze wideo i audio, pliki do pobrania powyżej kilku megabajtów oraz aplikacje Progressive Web App korzystające z Service Workers do buforowania zasobów. Brak wsparcia dla zakresów w tych scenariuszach oznacza konieczność ponownego pobierania całego zasobu po każdej przerwie w połączeniu.
Od teorii do praktyki — co warto zrobić ze zdobytą wiedzą
Obsługa kodu 206 Partial Content to jeden z technicznych detali, który oddziela sprawnie działającą infrastrukturę od tej, która marnuje przepustowość i irytuje użytkowników. Weryfikacja tej konfiguracji zajmuje kilka minut, a jej brak może kosztować pozycje w wynikach wyszukiwania przez słabsze wyniki Core Web Vitals. Jeśli chcesz mieć pewność, że Twoja strona nie traci widoczności przez ukryte problemy techniczne, zespół Webiti przeprowadzi pełny audyt infrastruktury i konfiguracji serwera.










