Błąd 400 – dlaczego się pojawia (nieprawidłowe żądanie)?

Jeśli codziennie przeglądasz internet, prawdopodobnie zdarzyło Ci się, że nie wszystko poszło zgodnie z planem. Czasami Twoja przeglądarka może wyświetlić kod błędu (np. błąd 400) zamiast żądanej strony WWW.

Komunikacja pomiędzy serwerem a klientem (np. przeglądarką) polega na wymianie statusów odpowiedzi. Dopiero w momencie otrzymania błędu, będziesz w stanie zauważyć jeden z tych kodów w swojej przeglądarce.

Kod HTTP 400 wskazuje, że żądanie przesłane przez przeglądarkę z jakiegoś powodu nie zostało pomyślnie przetworzone. W tym artykule wyjaśnimy, co oznacza błąd 400 oraz w jaki sposób wyeliminować jego pojawianie się.

Jak w przeglądarce wygląda komunikat błędu 400?
Rys. Przykładowy komunikat błędu 400 wyświetlany w przeglądarce.
Nie tylko na poziomie przeglądarki możemy otrzymać błąd 400. Inne aplikacje i programy, takie jak do obsługi poczty e-mail, także mogą wyświetlić błąd 400 podczas komunikacji z serwerem.

SPIS TREŚCI

Co oznacza błąd 400 Bad Request?

Kiedy wyświetli się nam błąd 400 Bad Request (nieprawidłowe żądanie), odpowiedź na pytanie: „co poszło nie tak” już nie będzie taka prosta. Protokół HTTP nie został poprawnie odpytany (taką informację przekazał serwer) i żądanie nie mogło zostać przetworzone. Serwer uznaje takie żądania za błędne, a nawet niebezpieczne, przez co blokuje użytkownika nie wyświetlając strony internetowej.

Najczęstszymi powodami generowania błędu 400 (Bad Request) są niepoprawne ustawienia przeglądarki lub błąd po stronie użytkownika.

Serwer informuje klienta o statusie żądania za pomocą kodów. Jeśli serwer zwróci kod 200 (którego zwykle nie widać), oznacza on, że Twoje żądanie zostało pomyślnie przetworzone. Zupełnie inaczej jest, gdy wyświetlane są komunikaty: 400, 403, 404, 500 czy 503, ponieważ oznaczają one różne rodzaje błędów.

Statusy 1xx przekazują pewne informacje, a 2xx informują o udanej operacji. Użytkownicy zazwyczaj zauważają kody 3xx i wyższe. Kody 3xx informują o udanej komunikacji, lecz przeglądarka musi wykonać dodatkową operację. Większość z nich dotyczy przekierowań, które odbywają się automatycznie, a tylko w kilku przypadkach zauważysz status 300.

Sytuacja wygląda kompletnie inaczej dla kodów błędów. Statusy 5xx informują o błędzie po stronie serwera, a 4xx o błędzie po stronie użytkownika. Najbardziej znanym komunikatem jest błąd 404 (tzw. nie znaleziono). Przyczyną pojawienia się błędu 404 jest zwykle albo nieprawidłowo napisany adres URL, albo usunięta treść pod wskazanym adresem.

Błąd 400 – co oznaczają szczegółowe kody stanu?

Niestety nie od razu wiadomo na czym polega problem, gdy pojawia się komunikat o błędzie 400, który najprościej mówiąc oznacza nieprawidłowe żądanie HTTP. Jeśli jednak docelowy serwer WWW używa IIS 7.0, IIS 7.5 lub IIS 8.0, to bardziej szczegółowe informacje można uzyskać z kodu stanu.

Kod stanu to cyfra od 1 do 9, która wyświetlana jest po kropce w błędzie 400.
  • 400.1 Invalid Destination Header (Nieprawidłowy nagłówek miejsca docelowego),
  • 400.2 Invalid Depth Header (Nieprawidłowy nagłówek głębokości),
  • 400.3 Invalid If Header (Nieprawidłowy warunek nagłówka),
  • 400.4 Invalid Overwrite Header (Niepoprawny nagłówek zastępowania),
  • 400.5 Invalid Translate Header (Niepoprawny nagłówek tłumaczenia),
  • 400.6 Invalid Request Body (Nieprawidłowa zawartość żądania),
  • 400.7 Invalid Content Length (Nieprawidłowa długość treści),
  • 400.8 Invalid Timeout (Nieprawidłowy limit czasu),
  • 400.9 Invalid Lock Token (Nieprawidłowy token blokady).

Jak naprawić błąd 400 Bad Request?

Tak jak w przypadku większości błędów, najczęstszym rozwiązaniem może okazać się odświeżenie strony internetowej. Szansa powodzenia będzie znacznie większa, jeśli jest to pierwszy błąd, jaki otrzymałeś na danej witrynie. Błąd może się wtedy okazać tylko tymczasową niedogodnością.

Jeśli jednak odświeżenie strony WWW nie pomoże, spróbuj usunąć pamięć podręczną przeglądarki (informacja o błędzie mogła zostać zapisana w pamięci podręcznej przeglądarki oraz stosowana do szybszego załadowania strony).

Niepoprawny adres URL

Przede wszystkim zweryfikuj, czy w pasku adres wprowadziłeś poprawny adres strony internetowej; zwłaszcza, jeśli wpisywałeś go samodzielnie. Jeśli skorzystałeś z odnośnika, to także sprawdź dokąd kieruje, lub spróbuj udać się na stronę główną (zazwyczaj będzie to główny adres domeny, np. www.twojadomena.pl). Możesz też spróbować wyszukać żądaną stronę WWW w wyszukiwarce (np. Google).

Nieprawidłowe pliki cookie w przeglądarce internetowej

Powodem komunikatu 400 Bad Request mogą być także ciasteczka, które są przestarzałe lub zawierają błędy. W celu weryfikacji wystarczy usunąć je w ustawieniach przeglądarki lub wybrać te odpowiadające Twojej stronie internetowej. Ponowne odwiedzenie strony utworzy nowe ciasteczka.

Czyszczenie pamięci cache Google Chrome - Ustawienia

WAŻNE! Ciasteczka przechowują informacje na temat odwiedzin danej strony internetowej. Natomiast serwer otrzymuje informacje na temat tego, kiedy strona WWW została przez Ciebie załadowana oraz jakie operacje na niej wykonywałeś. Dzięki temu ciasteczka potrafią spersonalizować wyświetlane reklamy w Internecie. Specjalne regulacje prawne dotyczące polityki prywatności chronią użytkowników przed pobieraniem danych personalnych przez ciasteczka.

Nieaktualna strefa DNS (DNS cache)

Kolejnym rozwiązaniem może się okazać wyczyszczenie pamięci podręcznej DNS (DNS cache). Gdy odwiedzasz strony internetowe, nazwy ich domen tłumaczone są na adresy IP, dzięki czemu możesz połączyć się z nimi.

Aby przyspieszyć proces rozwiązywania nazw, urządzenia tymczasowo przechowują dane połączeń w postaci pamięci podręcznej DNS. Kiedy ponownie odwiedzisz daną stronę internetową, a wpis z pamięci podręcznej nie został jeszcze usunięty, rozwiązanie nazwy odbędzie się bezpośrednio z pamięci podręcznej. Jeśli wpis jest przedawniony lub uszkodzony – otrzymasz błąd 400 Bad Request.

Aby usunąć niepoprawny wpis, niezbędnym będzie usunięcie pamięci podręcznej DNS.

Aby usunąć niepoprawny wpis DNS, musisz usunąć całą pamięć podręczną DNS. Można to zrobić, uruchamiając wiersz polecenia w systemie Windows i wprowadzając specjalne polecenie, powodujące usunięcie pamięci podręcznej:

  1. Otwórz Wiersz polecenia (menu Start – Wiersz polecenia, lub kombinacja przycisków Windows+R – cmd).
  2. Wpisz w konsoli komendę:
    ipconfig /flushdns
  3. Zatwierdź klawiszem: Enter.
    Wiersz poleceń - polecenie ipconfig flushdns

Uruchom Terminal oraz wprowadź odpowiednią komendę dla wersji swojego systemu operacyjnego.

  • MacOS 10.12.0 (Sierra):
    sudo killall -HUP mDNSResponder
  • OS X 10.10.4 (Yosemite) oraz 10.11.0 (El Capitan):
    sudo dscacheutil -flushcache;
    sudo killall -HUP mDNSResponder
  • OS X wersje od 10.10.1 do 10.10.3 (Yosemite):
    sudo discoveryutil mdnsflushcache
    sudo discoveryutil udnsflushcaches
  • OS X 10.9.0 (Mavericks):
    sudo dscacheutil -flushcache;
    sudo killall -HUP mDNSResponder

Błąd 400 – przyczyną mogą być problemy z polami nagłówka HTTP

Jako użytkownik Internetu: usuń pliki cookie i zresetuj przeglądarkę

Błąd 400 może zostać spowodowany także zbyt długim nagłówkiem HTTP. Zasadniczo nie istnieje limit długości nagłówków, lecz na serwerze może zostać ustanowiona górna granica. W nagłówkach zawarte są między innymi pola, w których określana jest długość żądania i odpowiedzi

Jeśli obie funkcje odpowiadają predefinioanym parametrom, wymiana danych dojdzie do skutku. Ze względu na to, że cały proces opiera się na komunikacji między przeglądarką, a serwerem, to błędy typu 400 zazwyczaj generowane są właśnie przez przeglądarki – wtedy najprawdopodobniej przeglądarka jest odpowiedzialna za błąd. Szybkim sposobem na weryfikację jest próba skorzystania z innej przeglądarki w celu ponownego wyświetlenia strony WWW, która zwróciła komunikat błędu 400.

Jeśli zmiana przeglądarki rozwiązała niedogodność, usuń ciasteczka ze swojej domyślnej przeglądarki:

Ze względów bezpieczeństwa, najlepszym rozwiązaniem jest usunięcie wszystkich ciasteczek – nie tylko tych, które są powiązane ze stroną z błędem. W nagłówkach między innymi przesyłane są też ciasteczka. To właśnie dzięki temu serwer otrzymuje informacje o Twoich poprzednich odwiedzinach strony www. Jeśli przeglądarka będzie próbowała przetworzyć zbyt wiele żądań, może to oznaczać, że nagłówek przekroczy limit długości.

Ostatecznie możesz spróbować przywrócić ustawienia swojej przeglądarki do domyślnych:

  • Dla przeglądarki Firefox: przejdź do zakładki Opcje, a następnie Uruchamianie.
  • Dla przeglądarki Chrome: opcja resetu ustawień będzie dostępna z poziomu: Ustawienia, przechodząc do dalszych opcji poprzez przycisk Zaawansowane.
  • Dla przeglądarki Internet Explorer: wybierz z menu: Opcje Internetowe -> Zaawansowane, a następnie kliknij przycisk Resetuj.
Ze względu na nieaktualne technologie stosowane w przeglądarce Internet Explorer (m.in. starszych wersjach), korzystanie z niej nie jest zalecane. Część aplikacji lub stron internetowych może nie zostać poprawnie uruchomiona oraz wyświetlać błędy.

Jeśli posiadasz dane, które chciałbyś zachować przed resetem ustawień, na przykład zakładki, zapoznaj się ze specyfikacją techniczną danej przeglądarki w celu weryfikacji, w jaki sposób dane zakładek są przechowywane (oraz wykonaj ich kopię zapasową).

Jako webmaster: ustaw odpowiednie limity, aby wyeliminować błąd 400

Jeśli odwiedzający Twoją stronę internetową narzekają na komunikaty błędu 400, zmiana ustawień usługi powinna rozwiązać problem. Możesz zapobiec wyświetlaniu błędu 400 ustanawiając limit długości nagłówków HTTP na serwerze.

WAŻNE! Jeśli jednak górna granica będzie zbyt wysoka, ryzyko odbierania błędnych żądań wzrośnie. Tym samym narażasz swój serwer oraz pliki na ataki przeprowadzane przy pomocy specjalnie zaprojektowanych nagłówków.

Jeśli jednak zdecydujesz się na zmianę limitu, możesz jej dokonać w następujący sposób:

  • Dla serwerów z IIS (ASP.NET): zmodyfikuj maxRequestLenghth oraz maxAllowedContentLenghth
  • Dla serwerów Apache: ustanów limit korzystając z LimitRequestFieldSize

Nie udało się naprawić błędu 400? Skontaktuj się z administratorem lub dostawcą internetu

Jeśli żadne z powyższych rozwiązań nie wpłynęło pozytywnie na kwestię błędu 400:

  • Jeśli błąd występuje tylko na jednej witrynie, a próby jego rozwiązania nie powiodły się, spróbuj skontaktować się z administratorem strony internetowej.
  • Jeśli błąd 400 występuje na wszystkich witrynach, które próbujesz odwiedzić, zalecamy kontakt z Twoim dostawcą usług internetowych.
WAŻNE! W obu przypadkach powinieneś przekazać jak najwięcej informacji dotyczących błędu 400, przykładowo: jakie kroki podjąłeś w celu rozwiązania problemu, z jakiego systemu operacyjnego i przeglądarki (oraz wtyczek) korzystasz, czy posiadasz zaporę firewall lub czy korzystasz z internetu przy pomocy proxy. Im więcej informacji przekażesz, tym łatwiej będzie naprawić błąd 400.

Inne komunikaty błędów na serwerach w home.pl (np. 403, 404, 500, 503)

Na serwerach w home.pl możesz napotkać również na inne popularne komunikaty błędów. Sprawdź poniżej co oznaczają poszczególne komunikaty błędów oraz jak można je wyeliminować.

  • Czy artykuł był pomocny ?
  • Tak   Nie