Błąd ERRUNEXPECTEDCONTENTDICTIONARYHEADER (lub pokrewny ERRCONTENTDECODING_FAILED) pojawia się w przeglądarce, gdy zachodzi problem z przetwarzaniem odpowiedzi serwera, zwłaszcza w kontekście kompresji danych i nagłówków HTTP. Jest to problem dotykający zarówno webmasterów/deweloperów, jak i użytkowników końcowych. Poniżej znajduje się rozbudowany poradnik wyjaśniający przyczyny występowania tego błędu, sposoby jego diagnozy i usunięcia — krok po kroku, z podziałem na działania dla obu grup odbiorców.
1. Co oznacza błąd ERRUNEXPECTEDCONTENTDICTIONARYHEADER?
Błąd ten wskazuje na niezgodność między deklaracjami kompresji w nagłówkach HTTP a rzeczywistą treścią odpowiedzi serwera. Wynika zwykle z problemów takich jak:
- Niezgodność lub uszkodzenie danych skompresowanych (np. GZIP, Brotli),
- Złe ustawienia serwera, które np. wysyłają nagłówek
Content-Encoding: gzip, ale przesyłana treść nie jest faktycznie spakowana, - Problemy po stronie przeglądarki, jak uszkodzony cache, dane DNS lub błędna obsługa nagłówków,
- Problemy sieciowe i z oprogramowaniem pośredniczącym (proxy, firewalle, CDN), które wprowadzają dodatkowe modyfikacje w nagłówkach lub treści.
2. Typowe przyczyny błędu
Najczęściej wskazywane przyczyny obejmują:
- Błędna konfiguracja kompresji na serwerze — np. przez przypadkowe wielokrotne kompresowanie odpowiedzi.
- Złe lub sprzeczne nagłówki HTTP — np. deklarowanie
Content-Encoding: gzipbez faktycznej kompresji. - Uszkodzony cache przeglądarki.
- Problemy z DNS lub konfiguracją sieci.
- Błędy na poziomie przeglądarki lub jej rozszerzeń.
- Działanie firewalli, CDN i innych pośredników, które zmieniają treść lub nagłówki.
3. Jak naprawić błąd — instrukcje krok po kroku
Dla użytkownika końcowego
-
Odśwież stronę Ctrl+F5
-
Wyczyść pamięć podręczną przeglądarki i ciasteczka
- W ustawieniach przeglądarki wybierz opcję usunięcia plików cookie i cache.
- Wyłącz rozszerzenia przeglądarki
- Zwłaszcza te dotyczące bezpieczeństwa, proxy i VPN.
- Spróbuj innej przeglądarki
- Pozwoli to ustalić, czy błąd leży po stronie przeglądarki.
- Zmień DNS na publiczny (np. Google 8.8.8.8)
- Ustawić to można w ustawieniach sieci (panel sterowania Windows, Preferencje systemowe macOS).
- Wyczyść cache DNS
- Windows: Uruchom Wiersz polecenia jako administrator i wpisz:
ipconfig /flushdns - macOS: W Terminalu, użyj:
sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder
- Zresetuj połączenia (socket pools) w Chrome
- Wejdź na
chrome://net-internals/#socketsi kliknij „Flush socket pools”.
- Wyłącz lub skonfiguruj firewall/antywirusa
- Sprawdź, czy programy zabezpieczające nie blokują połączeń lub nie modyfikują odpowiedzi HTTP.
Dla webmastera/web dewelopera
- Zweryfikuj konfigurację serwera
- Upewnij się, że kompresja (np. GZIP, Brotli) jest poprawnie skonfigurowana i stosowana tylko raz.
- Sprawdź nagłówki Content-Encoding — upewnij się, że nagłówek zgadza się z rzeczywistą kompresją treści.
- Błąd pojawi się, jeśli nagłówek deklaruje gzip, a treść jest nieskompresowana lub odwrotnie.
- Wyłącz kompresję na próbę
- Całkowite wyłączenie GZIP/Brotli pozwoli szybko określić, czy problem dotyczy kompresji.
- Weryfikuj konfiguracje CDN/proxy
- Sprawdź, czy zewnętrzne rozwiązania (np. Cloudflare) nie nakładają własnej kompresji lub nie modyfikują nagłówków.
- Jeśli korzystasz z CDN, wyczyść jego cache i zresetuj reguły kompresji.
- Testuj odpowiedzi HTTP
- Skorzystaj z narzędzi deweloperskich (Chrome DevTools, zakładka „Network”), wiresharka lub polecenia curl, np.:
curl -I -H "Accept-Encoding: gzip,deflate,br" https://twojastrona.pl - Sprawdź, czy odpowiedź zawiera poprawne nagłówki oraz zgodną treść.
- Sprawdź logi serwera
- Wyszukaj błędy dotyczące kompresji lub nagłówków.
- Zaktualizuj oprogramowanie serwera i wtyczki
- Nieaktualne moduły Apache/Nginx/IIS lub przestarzałe wtyczki mogą odpowiadać za niespójności w odpowiedziach.
- Zidentyfikuj konflikty z aplikacją
- Niektóre frameworki (np. w PHP: outputbuffering, moddeflate) mogą dublować kompresję lub modyfikować odpowiedzi.
4. Dodatkowe informacje i wskazówki
- Błąd ten nie zawsze oznacza problem po stronie oglądanej witryny — winne mogą być lokalne ustawienia użytkownika lub pośrednie ogniwa sieciowe.
- Jeżeli błąd występuje wyłącznie w Google Chrome, warto sprawdzić, czy problem dotyczy konkretnej wersji przeglądarki lub niekompatybilności np. po stronie HTTP/2, szczególnie z Windows Server.
- Po wdrożeniu zmian warto przeprowadzić testy w kilku przeglądarkach i na różnych urządzeniach.
5. Szybkie FAQ
Czy błąd można zignorować?
Dla webmastera — NIE, należy się nim zająć, bo uniemożliwia korzystanie z serwisu. Użytkownik może próbować obejść tymczasowo (np. przez inną przeglądarkę), lecz źródłem problemu jest serwer lub połączenie.
Czy jedyną przyczyną jest kompresja?
Nie — przyczyną mogą być również ochrona sieciowa, uszkodzone cache, błędna konfiguracja CDN, a nawet usterki na poziomie przeglądarki lub systemu operacyjnego.
Czy wystarczy tylko wyczyścić cache?
Niekiedy tak, lecz w wielu przypadkach niezbędna jest interwencja po stronie serwera.
Podsumowanie –
Poprawne ustawienie kompresji, weryfikacja nagłówków oraz zachowanie spójności na każdym etapie przetwarzania HTTP są kluczowe dla zapobiegania błędom typu ERRUNEXPECTEDCONTENTDICTIONARYHEADER. W przypadku powracających problemów zaleca się monitorowanie logów i konsultację z administratorem hostingu lub dostawcą CDN.

