Jak znaleźć i łatwo naprawić błąd 406?

Opublikowany: 2022-06-04

Mogą wystąpić błędy po stronie klienta i serwera (takie jak błąd 406) i są one powszechnie określane jako odpowiedzi HTTP lub kody stanu. Ten kod odpowiedzi HTTP jest znany jako „błąd 406”.

Podczas odwiedzania witryny możesz napotkać błąd 406. Jeśli masz stronę internetową, może być jeszcze gorzej. Internauci mogą uznać to za irytujące, ale właściciele witryn lub aplikacji mogą uznać to za absolutnie przerażające. Każdy kod odpowiedzi HTTP, w tym błąd 406, może sprawić, że profesjonalna strona internetowa będzie wydawać się nieprofesjonalna i myląca.

Spis treści

Co to jest błąd 406?

Komunikaty o błędach HTTP „406 Not Acceptable” nie są tak powszechne, jak błędy „404 Not Found” (które zwykle wskazują, że adresy URL nie istnieją), a nawet problemy HTTP 301 lub 500. W rezultacie nie powinieneś oczekiwać, że zobaczysz go zbyt wiele.

Kod stanu 406 Not Acceptable to kod odpowiedzi HTTP. Gdy programy klienckie (przeglądarki internetowe) żądają informacji z serwera, udostępniają nagłówek Accept, który powiadamia serwer, jakie typy danych może zaakceptować przeglądarka. Jeśli serwer nie może przesłać danych w żadnym z kodeków określonych w nagłówku Accept, zostanie zwrócony błąd 406 Not Acceptable.

Chociaż błąd 406 jest rzadki, możliwe, że spowoduje on problem w Twojej witrynie.

Wiadomość zwykle wygląda tak:

Nie do zaakceptowania

Na tym serwerze nie można znaleźć odpowiedniej reprezentacji żądanego zasobu.

Dodatkowe komunikaty lub informacje o serwerze są wymienione na końcu i czasami wskazują „żądany zasób”, w którym tkwi problem.

Czy błąd 406 jest błędem po stronie serwera czy po stronie klienta?

Błąd po stronie klienta to kod stanu 406 Nie do zaakceptowania. Należy do kategorii 4xx ( Klasa kodów stanu 4xx jest przeznaczona dla sytuacji, w których klient wydaje się popełnić błąd ) kategorii kodów stanu odpowiedzi HTTP, które są odpowiedziami na błędy klienta.

Kody stanu HTTP w kategorii 4xx obejmują:

  • 400 złych żądań
  • 401 Nieautoryzowany błąd
  • 403 Zabronione
  • 404 Nie Znaleziono
  • 405 Niedozwolona metoda
  • 410 Zniknął
  • 429 za dużo próśb
  • 415 Nieobsługiwany typ nośnika

Błędy 4xx oznaczają, że zamierzona strona nie została zlokalizowana i że żądanie było niekompletne. Problem polega na tym, co dzieje się po stronie klienta.

Różnią się one od kategorii kodów stanu 5xx, które są uważane za błędy po stronie serwera. Błędy te nie są winą klienta, ale wskazują na problem po stronie serwera

Błąd 406 Nie do zaakceptowania może czasami być powiązany z serwerem. Może na przykład skutkować odpowiedzią kodu 406 i innymi poważnymi problemami z routingiem ruchu, jeśli jest źle skonfigurowany i niepoprawnie obsługuje żądania.

Jakie są przyczyny błędu 406?

Twoja przeglądarka (taka jak Safari, Firefox, Brave, Chrome lub Internet Explorer) żąda plików i treści witryny za każdym razem, gdy otwierasz stronę internetową. Komunikując się z serwerem, przeglądarka powiadamia serwer, co użytkownik chce zobaczyć, i miejmy nadzieję, że serwer odpowie prawidłowymi informacjami.

Kiedy przeglądarka wysyła swoje pierwsze żądanie, informuje serwer, jakie typy plików może zaakceptować. Zasadniczo jest to żądanie Accept-Header, które mówi serwerowi, aby dostarczył pliki w odpowiednich formatach w celu utworzenia całej witryny lub aplikacji internetowej, zaczynając od nagłówka.

Odpowiedź serwera może nie respektować reguły przeglądarki lub klienta, jeśli nie jest w odpowiednim formacie. Ten błąd wskazuje, że serwer nie dostarcza wymaganych danych, na co wskazuje błąd 406.

W żądaniach nagłówków mogą występować „złe formaty” i „naruszenia reguł”. Oto kilka przykładów:

  • Akceptowane zakresy: niektóre serwery stosują środki bezpieczeństwa lub dopuszczają w odpowiedzi tylko określony limit rozmiaru pliku. Otrzymasz błąd 406, jeśli odpowiedź spróbuje wysłać zbyt wiele bajtów poza dozwolony zakres.
  • Akceptuj kodowanie: Ta sekcja nagłówka służy do kompresji plików, dzięki czemu można je szybko przesłać z serwera do przeglądarki. Kod błędu 406 jest generowany, gdy niektóre metody kodowania i formaty nie są akceptowane.
  • Accept-language: Accept-language to pseudonim dla Accept-charset, który odnosi się do nacisku na języki na całym świecie.
  • Naruszenie typu MIME: Przeglądarka może od czasu do czasu zapytać serwer o określony typ MIME. Zdjęcia JPEG, określone formaty wideo i podstawowy tekst to przykłady typów MIME. Otrzymasz błąd 406, jeśli serwer nie może zaoferować określonego typu MIME, takiego jak obrazy JPEG.
  • Accept-charset: Jest to zestaw znaków opisujący sposób, w jaki tabele plików witryny konwertują kod (taki jak CSS i HTML) na czytelne znaki. Trudno jest opisać wszystkie postacie, języki i symbole, które istnieją na całym świecie. Standardem jest tabela ISO-8859, chociaż istnieją również różne tabele uzupełniające. Aby nadążyć za dodawaniem języka i postaci, regularnie publikowane są nowe tabele postaci.

Błąd „406 Not Acceptable” wskazuje, że klient przesłał do serwera sieci Web prawidłowe żądanie, ale żądanie zawierało specjalne kryterium, które serwer musi spełnić. Początkowe żądanie zawierało konkretną potrzebę w postaci nagłówka HTTP Accept- nagłówka.

To pozostawia nam tylko kilka możliwości lub przyczyn:

  • Pożądany typ MIME lub odpowiednie formaty, takie jak JPEG lub wideo mp4, nie zostały dostarczone przez serwer.
  • Serwer nie dostarczył odpowiedniego języka (Accept-language).
  • Zgodnie z żądaniem Accept-encoding serwer zastosował nieprawidłową metodę lub format kompresji.
  • Serwer zwrócił nadmierną liczbę bajtów niezgodnych z żądaniem Accept-ranges.
  • Serwer nie dostarczył zrozumiałych znaków, co spowodowało problem z żądaniem przeglądarki Accept-charset.

Błąd 406 może być spowodowany innymi rzeczami, ale nie są one tak powszechne. Pierwsze dwa są bardziej rozpowszechnione niż pozostałe, więc prawdopodobnie powinieneś zacząć od zbadania możliwości naruszenia typu MIME lub problemu z akceptowanym językiem.

Obserwowanie, w jaki sposób coś w plikach witryny może powodować problemy, jest kluczową informacją dla właścicieli witryn dotyczących tych problemów z formatem i naruszeń. Błędy ludzkie, takie jak wprowadzenie nieprawidłowego kodu, usunięcie ważnego kodu lub błędna konfiguracja serwera, często prowadzą do takich scenariuszy. Gdy określone ustawienia zabezpieczeń lub przepisy uniemożliwiają dostarczanie treści z serwera, pojawia się błąd 406.

Jakie są środki zapobiegawcze dla błędu 406?

Problem z błędem 406 polega na tym, że może on pojawić się w różnych okolicznościach.

To nie jest idealne, ale nie jest to coś, czego nie da się naprawić. Gdy błąd 406 pojawia się w Twojej witrynie lub aplikacji, jest to znacznie bardziej problematyczne.

Jeśli to Twoja witryna, upewnij się, że to się nie powtórzy. Wtyczki, motywy i ludzkie błędy mogą odgrywać pewną rolę, więc oto kilka dodatkowych zaleceń.

  • Ogranicz wtyczki, motywy i rozszerzenia do minimum. Instaluj tylko niezbędne i renomowane elementy.
  • Jeśli nie wiesz, co robisz i absolutnie musisz, nigdy nie powinieneś edytować podstawowych plików WordPressa.
  • Zaleca się regularne wykonywanie czyszczenia bazy danych i optymalizatora witryny. Zalecamy, aby ten proces był kończony co miesiąc i aby używać czystszej wtyczki, która będzie działać automatycznie w tle.
  • Debugowanie serwera i aplikacji internetowej powinno stać się nawykiem.
  • Regularnie twórz kopie zapasowe swojej witryny lub aplikacji. Zapobiegnie to konfliktom kodu lub błędom, które nie powodują zbytniego niepokoju, ponieważ możesz łatwo przywrócić poprzednią wersję witryny.
  • Nawet jeśli uruchamiasz już automatyczne kopie zapasowe, uruchom ręczną kopię zapasową swojej witryny przed aktualizacją WordPressa i wszelkich wtyczek. Dobrym pomysłem jest również wykonanie kopii zapasowej przed edycją jakichkolwiek plików lub dodaniem nowego kodu do witryny.

Jak naprawić błąd 406?

Przejdź do menedżera plików witryny WordPress. Wprowadź publi_html i kliknij prawym przyciskiem myszy .htaccess , aby edytować

Błąd 406

Wpisz następujący kod na końcu pliku i kliknij Zapisz . To rozwiąże błąd 406, pamiętaj, że aby poniższe rozwiązanie zadziałało, musisz mieć swoją witrynę na LiteSpeed ​​Enterprise lub Apache, nawet na NGINX to poniższe rozwiązanie nie będzie działać.

 <IfModule mod_security.c> SecFilterEngineOff SecFilterScanPOSTOff </IfModule>

Wniosek

Podczas przeglądania strony internetowej możesz zobaczyć błąd 406. Lub, w najgorszym przypadku, w Twojej witrynie. Choć może to irytować typowego internauty, może być wręcz przerażające dla właściciela strony internetowej lub usługi. Każdy kod odpowiedzi HTTP, nawet błąd 406, może spowodować utratę sprzedaży i użytkowników, a także wydawać się nieprofesjonalny i niejasny.

Istnieją różne metody rozwiązania błędu 406. Powinieneś być w stanie wyjaśnić błąd, o ile wiesz, co widzisz i gdzie szukać rozwiązania.

Chociaż nie jest to jeden z najczęstszych problemów związanych z WordPressem, możesz się z nim spotkać, jeśli konfiguracja jest nieprawidłowa.