TrueURL

406 Not Acceptable

Serwer nie może wygenerować odpowiedzi zgodnej z nagłówkami Accept klienta (format, język, kodowanie) i nie wyśle wersji domyślnej.

Opis słowny
Not Acceptable
Przekierowanie
Nie
Domyślne buforowanie
Nie

406 Not Acceptable oznacza, że zasób docelowy nie ma reprezentacji zgodnej z nagłówkami negocjacji klienta, takimi jak Accept, Accept-Language czy Accept-Encoding, a serwer nie chce wysłać reprezentacji domyślnej. Treść odpowiedzi powinna zawierać listę dostępnych reprezentacji, aby użytkownik lub klient mógł wybrać.

W praktyce większość serwerów ignoruje preferencje, których nie może spełnić, i wysyła reprezentację domyślną, na co RFC 9110 wprost zezwala. Dlatego kod 406 pojawia się głównie w API, które serwują tylko określone typy MIME, np. w API JSON, które otrzymuje Accept: application/xml.

Niektórzy dostawcy hostingu konfigurują moduły bezpieczeństwa, takie jak ModSecurity, tak by odpowiadały na zablokowane żądania kodem 406, więc 406 może być też decyzją zapory, a nie problemem z negocjacją treści.

Przykładowa odpowiedź

HTTP
HTTP/1.1 406 Not Acceptable
Date: Fri, 06 Nov 2026 10:15:32 GMT
Vary: Accept
Content-Type: application/json
Content-Length: 57

{"error":"Available formats: application/json, text/csv"}

SEO i sprawdzanie przekierowań

Roboty indeksujące wysyłają ogólne nagłówki Accept, więc nie powinny otrzymywać kodu 406; jeśli jednak go dostają, adres URL jest traktowany jak błąd 4xx i nie zostaje zaindeksowany. Gdy sprawdzanie przekierowań zwraca 406, a strona wczytuje się w przeglądarce, przyjrzyj się dodanym przez siebie własnym nagłówkom Accept albo regule bezpieczeństwa dopasowanej do User-Agenta lub adresu URL.

Typowe przyczyny i zastosowania

  • API obsługuje tylko JSON, a klient poprosił o XML lub inny format.
  • Restrykcyjna konfiguracja Accept-Language nie ma pasującego tłumaczenia ani wersji zapasowej.
  • Reguła ModSecurity lub WAF na hostingu współdzielonym blokuje żądanie kodem 406.

Sprawdzanie przekierowań URL

Zobacz wszystkie kody odpowiedzi, jakie zwraca adres URL, przeskok po przeskoku, w darmowym narzędziu TrueURL do sprawdzania przekierowań.