Jak naprawić błąd 406 i znaleźć źródło problemu?

Procédure

Wprowadzenie

Czasami na serwerach i klientach występują błędy, zwykle określane jako odpowiedzi HTTP lub kody stanu. Błąd "Error 406" lub "406 Not Acceptable" jest jedną z takich odpowiedzi HTTP.

Napotkanie błędu 406 podczas przeglądania witryny może być frustrujące. Co gorsza, zobaczenie go na własnej stronie internetowej może być niepokojące dla właściciela witryny lub aplikacji. Oprócz nieprofesjonalnego i niepokojącego wyglądu, każda odpowiedź HTTP, w tym błąd 406, może prowadzić do utraty sprzedaży i użytkowników.

W tym artykule omówiono podstawy błędu "406 Not Acceptable", co go powoduje, jak go rozwiązać i co można zrobić, aby zapobiec jego wystąpieniu w przyszłości.

Czym jest błąd 406?

Na szczęście komunikat o błędzie HTTP "406 Not Acceptable" nie jest tak powszechny jak inne błędy serwera, takie jak dobrze znany błąd 404 (ogólnie wskazujący nieistniejącą stronę) lub nawet błędy HTTP 301 lub 500. W rezultacie nie powinieneś napotykać tego komunikatu tak często.

Jednakże, choć rzadko, błąd 406 może powodować problemy z witryną, gdy wystąpi. Zazwyczaj objawia się on w następujący sposób:

Jak naprawić błąd 406 i znaleźć źródło problemu?

Wygląd i dokładny tekst komunikatu o błędzie 406 może się różnić w zależności od witryny, hosta i przeglądarki używanej do uzyskania dostępu do witryny. Błąd 406 może jednak stanowić wskazówkę co do źródła problemu. W niektórych przypadkach jest to po prostu błąd "406 Not Acceptable" bez dodatkowych informacji, które mogłyby pomóc w rozwiązaniu problemu.

Podsumowując, jest to zasadniczo problem z komunikacją między serwerem a przeglądarką lub maszyną używaną do wyświetlania aplikacji internetowej. Przeglądarka nie może zinterpretować otrzymanych danych, ponieważ nie spełniają one określonych wymagań.

Co powoduje błąd 406?

Za każdym razem, gdy otwierasz stronę internetową, Twoja przeglądarka (taka jak Safari, Firefox, Brave, Chrome lub Internet Explorer) wysyła żądanie do serwera strony w celu pobrania zawartości strony i plików bazy danych. Przeglądarka działa jak posłaniec między użytkownikiem a serwerem: mówi serwerowi, co użytkownik chce zobaczyć i, miejmy nadzieję, prawidłowe informacje są zwracane.

Podczas tego pierwszego żądania przeglądarka informuje serwer o formatach plików, które może zaakceptować. Jest to znane jako żądanie Accept-header, które monituje serwer o dostarczenie plików w odpowiednich formatach, aby wyświetlić całą witrynę lub aplikację internetową, zaczynając od nagłówka.

Czasami serwer wysyła odpowiedź, która nie jest w odpowiednim formacie lub łamie regułę ustawioną przez przeglądarkę lub komputer kliencki. W takim przypadku w oknie przeglądarki pojawia się błąd 406, wskazujący, że serwer nie dostarcza odpowiednich danych.

Oto kilka przykładów "złych formatów" i "naruszeń reguł", które mogą wystąpić w przypadku żądań nagłówków:

Accept-ranges: Niektóre serwery stosują środki bezpieczeństwa lub zezwalają tylko na określony zakres rozmiaru pliku w odpowiedzi. Jeśli odpowiedź próbuje wysłać zbyt wiele bajtów poza dozwolonym zakresem, wystąpi błąd 406.

Accept-encoding: Ta sekcja nagłówka jest przeznaczona do kompresji plików, aby ułatwić szybki transfer z serwera do przeglądarki. Niektóre formaty kompresji nie są akceptowane, co skutkuje błędem 406.

Accept-charset: Odnosi się do zestawu znaków lub sposobu, w jaki pliki witryny używają kodu (takiego jak CSS i HTML) i przekształcają go w zrozumiałe znaki. Istnieją różne tabele znaków dla różnych języków i symboli.

Accept-language: Jest to inny parametr niż Accept-charset, który koncentruje się na językach międzynarodowych.

Naruszenie typu MIME: Czasami przeglądarka żąda od serwera określonego typu MIME. Jeśli serwer nie może dostarczyć żądanego typu MIME, takiego jak obrazy JPEG, pojawia się błąd 406.

Głównym sposobem obsługi i poprawiania błędu 406 jest sprawdzenie kodu źródłowego pod kątem problemów w nagłówkach Accept-, Request- i Response-.

Najprostszym sposobem sprawdzenia nagłówków Accept- i Response- jest otwarcie strony internetowej w przeglądarce, kliknięcie prawym przyciskiem myszy i wybranie opcji Inspect.

Następnie przejdź do Sieć > Nagłówki, aby wyświetlić wszystkie żądania dla tej strony internetowej.

Jak naprawić błąd 406 i znaleźć źródło problemu?

Zazwyczaj można wybrać dowolne żądanie z długiej listy, aby zobaczyć nagłówki żądania i odpowiedzi dla tego konkretnego żądania.

Jak naprawić błąd 406 i znaleźć źródło problemu?

Możesz również poprosić swojego programistę o pomoc w sprawdzeniu kodu źródłowego. Jednak sprawdzenie kodu źródłowego jest znacznie łatwiejsze, gdy masz dostęp do narzędzi do debugowania i czyszczenia bazy danych, których szczegóły omówimy w dalszej części tego artykułu.

Jak wspomniano wcześniej, błąd "406 Not Acceptable" wskazuje, że klient wysłał prawidłowe żądanie do serwera, ale z określonym wymaganiem, którego serwer nie był w stanie spełnić. Ten konkretny wymóg pierwotnego żądania został sformułowany w nagłówku HTTP Accept-.

To prowadzi nas do rozważenia kilku potencjalnych przyczyn:

  • Serwer nie dostarczył żądanego typu MIME lub odpowiednich formatów, takich jak wideo JPEG lub mp4.
  • Serwer nie zwrócił poprawnego języka (Accept-language). Na przykład, mógł zwrócić odpowiedź w języku niemieckim, gdy przeglądarka zażądała języka francuskiego.
  • Serwer użył niewłaściwej metody kompresji lub formatu w odpowiedzi na żądanie Accept-encoding.
  • Serwer przesłał zbyt wiele bajtów, które nie pasowały do żądania Accept-ranges.
  • Serwer nie dostarczył zrozumiałych znaków, co może być problemem z żądaniem Accept-charset przeglądarki.

Istnieją inne możliwe powody, dla których można napotkać błąd 406, choć są one mniej powszechne. Powyższa lista przedstawia najczęstsze przyczyny, od najbardziej do najmniej powszechnych. Pierwsze dwa powody są generalnie najbardziej prawdopodobne, więc zaleca się skoncentrowanie wysiłków na poszukiwaniu możliwych naruszeń typu MIME lub problemów z językiem akceptacji.

Ogólnie rzecz biorąc, właściciele witryn powinni być świadomi tych problemów i naruszeń formatu, ponieważ mogą one być spowodowane różnymi anomaliami w plikach witryny. Często sytuacje te są wynikiem błędu ludzkiego, takiego jak przypadkowe wprowadzenie nieprawidłowego kodu, nieumyślne usunięcie niezbędnego kodu lub nieprawidłowa konfiguracja serwera. Błąd 406 może również wystąpić, gdy określone ustawienia zabezpieczeń lub reguły blokują przesyłanie treści z serwera.

Jak mogę poprawić błąd 406?

Teraz, gdy wyjaśniliśmy przyczyny występowania błędu 406, przyjrzyjmy się najlepszym podejściom do jego rozwiązania i zapobiegania jego ponownemu wystąpieniu.

Strategie te obejmują przyczyny po stronie klienta (gdy użytkownik popełnia błąd lub maszyna działa nieprawidłowo), przyczyny po stronie serwera i problemy związane z platformą, takie jak wadliwe rozszerzenia.

Upewnij się, że adres URL jest poprawny

Nasza pierwsza wskazówka może wydawać się prosta, ale jest to najszybsza opcja rozwiązywania problemów i koncentruje się na problemach po stronie klienta, tj. na komputerze użytkownika.

Chociaż błąd 404 jest znacznie bardziej powszechny niż błąd 406 w tej sytuacji, nadal możesz napotkać błąd "406 Not Acceptable", jeśli adres URL witryny jest prawidłowy. W niektórych przypadkach może to być wynikiem dziwnej interpretacji żądania przez przeglądarkę. Na przykład dodanie "JSON" lub "PHP" na końcu adresu URL może zostać zinterpretowane jako żądanie tych konkretnych formatów, nawet jeśli klient ich nie potrzebuje.

Aby rozwiązać problem, należy ponownie przeanalizować poprzednio używany adres URL, który spowodował błąd. Spróbuj wprowadzić go ponownie lub zbadaj inne subdomeny witryny, aby sprawdzić, czy pojedyncza strona nie jest wyświetlana.

Cofnij ostatnie zmiany w CMS

Następnie nadszedł czas, aby zbadać system używany dla twoich stron internetowych lub aplikacji. Może się okazać, że system zarządzania treścią, taki jak WordPress, jest bezpośrednią przyczyną błędu "406 Not Acceptable" z powodu komplikacji w plikach witryny.

Niezależnie od tego, czy używasz WordPress, czy innego systemu zarządzania treścią, sprawdź datę ostatniej aktualizacji. WordPress ma solidną domyślną infrastrukturę zaprojektowaną w celu uniknięcia tego typu błędów, cokolwiek się stanie.

Jednak określone rozszerzenia, motywy lub ręcznie zmodyfikowany kod mogą powodować sytuacje, w których pliki witryny naruszają żądania klienta lub serwera. Prosta aktualizacja do najnowszej wersji CMS może natychmiast rozwiązać problem.

Aby dowiedzieć się, czy to twój CMS, zacznij od cofnięcia wszelkich ostatnich aktualizacji podstawowych plików. Jak być może już wiesz, WordPress wysyła regularne aktualizacje do swojego systemu. Większość z tych aktualizacji odbywa się automatycznie, ale starsze wersje nadal wymagają kliknięcia przycisku.

Ponadto WordPress i inne systemy CMS wykorzystują szereg elementów mobilnych, takich jak wtyczki, motywy i rozszerzenia. Elementy te są również regularnie aktualizowane, więc może być konieczne anulowanie niektórych z nich.

W przypadku wszystkich systemów innych niż WordPress, wyszukaj "nazwa platformy + jak przywrócić" w wyszukiwarce takiej jak Google.

Najprostszym sposobem na przywrócenie starej wersji CMS jest przywrócenie kopii zapasowej, postępując zgodnie z tą dokumentacją.

Odinstalowywanie i ponowne instalowanie wtyczek, motywów i rozszerzeń

Rozszerzenia i motywy WordPress dodają dodatkowy kod do plików witryny, który wchodzi w interakcję z podstawowymi plikami WordPress. Chociaż zwykle nie ma problemów z renomowanymi rozszerzeniami, czasami może wystąpić konflikt. Wtyczka, motyw lub rozszerzenie innej firmy może powodować błąd 406.

Aby zidentyfikować rozszerzenie, postępuj zgodnie z tą dokumentacją.

Zalecamy wykonanie czynności dotyczących rozszerzeń przed przejściem do motywów. Dezaktywacja lub zmiana motywów może prowadzić do większej reorganizacji treści
.

Przeanalizuj logi serwera

Poprzednie wskazówki skupiały się na rozwiązywaniu problemów po stronie klienta i CMS. Teraz przyjrzymy się problemom po stronie serwera. Te i kolejne wskazówki są przydatne, jeśli nie korzystasz z systemu CMS lub podejrzewasz, że błąd 406 nie jest związany z systemem CMS lub komputerem klienckim.

Pierwszym krokiem w rozwiązywaniu problemów po stronie serwera jest sprawdzenie logów. Bez względu na rodzaj używanej aplikacji internetowej, CMS lub systemu projektowania stron internetowych, wszystkie one mają dzienniki po stronie serwera.

Dzienniki aplikacji rejestrują pełną lub niedawną historię aplikacji internetowej, dostarczając informacji o każdym zapytaniu do bazy danych, dostarczonych wynikach, żądanych stronach i nie tylko. Z drugiej strony dzienniki serwera zawierają informacje o kondycji i stanie serwera lub sprzętu używanego do uruchamiania aplikacji internetowej.

Dzienniki error.log i access. log można wyświetlić, zapoznając się z niniejszą dokumentacją.

Poniższy obrazek przedstawia przykład dziennika związanego z błędem 406:

Jak naprawić błąd 406 i znaleźć źródło problemu?

W tym przykładzie to system ModSecurity odrzucił żądanie i zgłosił błąd 406. Dlatego konieczne jest sprawdzenie reguły, która została podniesiona i poprawienie problemu w witrynie lub dezaktywacja reguły, jeśli uważasz, że nie ma ona wpływu na bezpieczeństwo Twojej witryny.

Zapobieganie błędom 406 w przyszłości

Nic, czego nie można rozwiązać za pomocą małego rozwiązywania problemów. Gdy błąd 406 wystąpi w Twojej witrynie lub aplikacji, może to być bardziej niepokojące. W takim przypadku kluczowe jest sprawdzenie serwera i plików witryny CMS.

Aby uniknąć powtarzania się tego błędu w przyszłości, oto kilka wskazówek dotyczących utrzymywania baz danych i plików witryny w czystości:

  1. Ogranicz instalację wtyczek, motywów i rozszerzeń tylko do tych elementów, które są niezbędne i cieszą się dobrą opinią. Zawsze ograniczaj te elementy do niezbędnego minimum.

  2. Unikaj modyfikowania podstawowych plików WordPress, chyba że jest to absolutnie konieczne i jeśli wiesz, co robisz.

  3. Zaplanuj regularne czyszczenie bazy danych i optymalizację witryny. Zaleca się, aby robić to co miesiąc i znaleźć rozszerzenie czyszczące, które działa w tle.

  4. Skonfiguruj automatyczne kopie zapasowe swojej witryny lub aplikacji. W ten sposób, w przypadku konfliktu kodu lub błędu, można przywrócić wcześniejszą wersję bez stresu.

  5. Zawsze wykonuj ręczną kopię zapasową witryny przed aktualizacją WordPressa i jego rozszerzeń, nawet jeśli automatyczne kopie zapasowe są wdrożone. Rozsądnie jest również wykonać kopię zapasową przed modyfikacją plików lub dodaniem nowego kodu do witryny.

Podsumowanie

Teraz już wiesz, jak :

  • Rozpoznać i zrozumieć pochodzenie błędu 406 Not Acceptable.
  • Identyfikować potencjalne przyczyny tego błędu, związane z Accept-ranges, Accept-encoding, Accept-charset, Accept-language lub naruszeniem typu MIME.
  • Zdiagnozuj i popraw błąd 406, sprawdzając adres URL, cofając ostatnie zmiany w CMS, odinstalowując i ponownie instalując wtyczki lub motywy oraz analizując dzienniki serwera.
  • Zapobiegaj błędowi 406, ograniczając instalacje wtyczek, unikając modyfikacji podstawowych plików CMS, planując regularne czyszczenie bazy danych oraz konfigurując automatyczne i ręczne kopie zapasowe.

Dzięki tym praktycznym wskazówkom jesteś teraz uzbrojony, aby skutecznie radzić sobie z błędem 406 Not Acceptable i zapobiegać mu, a tym samym zapewnić płynne i profesjonalne wrażenia użytkownika na swojej stronie internetowej. 🚀

Chciałbym podziękować za uważną lekturę i mam nadzieję, że ten artykuł dostarczył ci kluczy potrzebnych do najlepszego zarządzania błędami serwera. Jeśli masz jakieś pytania lub chcesz podzielić się swoimi doświadczeniami z błędem 406, zostaw komentarz poniżej. Twoja opinia jest cenna i pomaga nam stale ulepszać nasze usługi!

Oceń ten artykuł :

2,7/5 | 3 opinia

Ten artykuł był dla Ciebie przydatny ?

Article utileTak

Article non utileNie

MerciMerci ! N'hésitez pas à poser des questions sur nos documentations si vous souhaitez plus d'informations et nous aider à les améliorer.


Vous avez noté 0 étoile(s)

Podobne artykuły

0mn czytanie

Błąd Cloudflare 524: Wystąpił przekroczenie limitu czasu

3mn czytanie

Jak poprawić błąd 500 w witrynie za pomocą panelu LWS

10mn czytanie

Jak poprawić kody błędów HTTP?

0mn czytanie

Błąd 404, czym jest i jak go poprawić


Zadaj pytanie zespołowi LWS i jego społeczności