Błąd 400 Bad Request – co oznacza, przyczyny i jak naprawić

Błąd 400 Bad Request – co oznacza, przyczyny i jak naprawić

Błąd 400 Bad Request oznacza, że serwer nie może przetworzyć Twojego żądania HTTP, bo jest ono nieprawidłowe – uszkodzone, zbyt duże lub źle sformatowane. To błąd po stronie klienta (przeglądarki), nie serwera. Serwer mówi: „nie rozumiem, o co prosisz”. Najczęstsze przyczyny: uszkodzone ciasteczka (cookies), zbyt długi URL, błędny nagłówek HTTP, zbyt duży plik wysyłany w formularzu lub literówka w adresie. Naprawienie zajmuje 30 sekund – zazwyczaj wystarczy wyczyścić cookies lub sprawdzić URL.

Co dokładnie oznacza kod HTTP 400

Kody HTTP w zakresie 4xx oznaczają błędy po stronie klienta (przeglądarki użytkownika). 400 to najbardziej ogólny z nich – „Twoje żądanie jest nieprawidłowe i serwer nie wie, co z nim zrobić”. W przeciwieństwie do błędu 403 (brak uprawnień) czy 404 (strona nie istnieje), kod 400 nie precyzuje problemu – to catch-all dla wadliwych żądań.

Definicja RFC 7231: „The 400 (Bad Request) status code indicates that the server cannot or will not process the request due to something that is perceived to be a client error.” Serwer mógłby przetworzyć żądanie, gdyby było poprawne – ale coś w nim jest nie tak.

Przyczyny błędu 400 – po stronie użytkownika

Uszkodzone lub wygasłe cookies. To najczęstsza przyczyna. Strona zapisała w przeglądarce ciasteczko, które jest uszkodzone, wygasłe lub niezgodne z oczekiwaniami serwera. Serwer czyta cookie, nie potrafi go zinterpretować i zwraca 400. Rozwiązanie: wyczyść cookies dla tej konkretnej strony (nie musisz czyścić wszystkich).

Zbyt długi URL. Większość serwerów akceptuje URL do 2 048–8 192 znaków. Jeśli URL jest dłuższy (np. źle zakodowane parametry, nieskończone przekierowania dodające parametry) – serwer zwraca 400. Rozwiązanie: skróć URL, usuń zbędne parametry, sprawdź czy strona nie dodaje parametrów w pętli.

Literówka w URL lub błędne kodowanie. Znaki specjalne w URL muszą być zakodowane (np. spacja = %20, polski znak = %C5%82). Jeśli wkleisz URL z niezakodowanymi znakami lub z błędnym kodowaniem – 400. Rozwiązanie: sprawdź URL, użyj poprawnie zakodowanego adresu.

Zbyt duży plik w formularzu. Wysyłasz plik (upload) przekraczający limit serwera (np. serwer akceptuje max 10 MB, a wysyłasz 50 MB). Serwer zamiast 500 zwraca 400, bo żądanie jest zbyt duże. Rozwiązanie: zmniejsz plik, skompresuj obraz, podziel upload na części.

Cache DNS przeglądarki. Przeglądarka ma w cache stary adres IP domeny, który nie odpowiada aktualnemu serwerowi – żądanie trafia pod zły adres i dostaje 400. Rozwiązanie: wyczyść cache DNS przeglądarki (chrome://net-internals/#dns → Clear host cache) lub systemowy (ipconfig /flushdns na Windows).

Przyczyny błędu 400 – po stronie serwera/developera

Limit rozmiaru nagłówków HTTP. Serwer (Nginx, Apache) ma ustawiony limit na rozmiar nagłówków HTTP. Jeśli cookies użytkownika lub nagłówki autoryzacji przekraczają ten limit – 400. Nginx domyślnie: large_client_header_buffers 4 8k = max 8 KB na nagłówek. Rozwiązanie (admin): zwiększ large_client_header_buffers w konfiguracji Nginx.

Walidacja po stronie serwera. Aplikacja (WordPress, Laravel, Django) waliduje dane z formularza i zamiast przyjaznego komunikatu – zwraca 400. Rozwiązanie (developer): obsłuż błędy walidacji z czytelnym komunikatem, nie gołym 400.

Błędna konfiguracja SSL/TLS. Niezgodność protokołu SSL między przeglądarką a serwerem, wygasły certyfikat traktowany jako bad request przez reverse proxy. Rozwiązanie: sprawdź konfigurację SSL, odnów certyfikat.

WAF lub firewall blokujący żądanie. WAF (Web Application Firewall) wykrywa podejrzane wzorce w żądaniu (np. SQL injection, XSS) i zwraca 400 zamiast przepuścić. Rozwiązanie: sprawdź logi WAF, dodaj wyjątek (whitelist) jeśli żądanie jest legalne.

Jak naprawić błąd 400 – krok po kroku

Jako użytkownik:

  1. Sprawdź URL – czy nie ma literówki, podwójnego slasha, niezakodowanych znaków.
  2. Wyczyść cookies dla tej strony – instrukcja dla Chrome/Firefox.
  3. Wyczyść cache przeglądarki – Ctrl+Shift+Delete → zaznacz cache i cookies → wyczyść.
  4. Spróbuj w trybie incognito – jeśli działa → problem to cookies/rozszerzenia.
  5. Wyłącz rozszerzenia przeglądarki – ad-blockery i VPN mogą modyfikować nagłówki HTTP.
  6. Flush DNSipconfig /flushdns (Windows) lub sudo dscacheutil -flushcache (macOS).

Jako administrator serwera:

  1. Sprawdź logi serwera – Nginx: /var/log/nginx/error.log, Apache: /var/log/apache2/error.log. Szukaj: „client sent too large header”, „request URI too large”.
  2. Zwiększ limity nagłówków – Nginx: large_client_header_buffers 4 16k; Apache: LimitRequestFieldSize 16384.
  3. Zwiększ limit uploadu – Nginx: client_max_body_size 64m; PHP: upload_max_filesize = 64M i post_max_size = 64M w php.ini.
  4. Sprawdź logi WAF – jeśli używasz WAF/ModSecurity: logi pokażą, która reguła zablokowała żądanie.

Błąd 400 a SEO

Jeśli Googlebot natrafia na 400 przy próbie indeksowania strony – nie zaindeksuje jej. W Google Search Console pojawi się w raporcie „Strony” → „Nie zaindeksowano” → „Błąd serwera (4xx)”. Pojedyncze 400 na nieistniejących URL-ach nie szkodzą. Ale jeśli 400 występuje na ważnych stronach (kategorie, produkty, artykuły) – stracisz pozycje. Sprawdzaj regularnie: Google Search Console → Strony → filtruj po „4xx” + Screaming Frog crawl (wykryje 400 na wewnętrznych linkach).

Najczęściej zadawane pytania

Czym różni się błąd 400 od 403 i 404?

400 Bad Request – żądanie jest nieprawidłowe (uszkodzone cookies, zbyt długi URL, złe kodowanie). 403 Forbidden – żądanie jest poprawne, ale nie masz uprawnień (brak dostępu do katalogu, zablokowany IP). 404 Not Found – żądanie poprawne, masz uprawnienia, ale strona nie istnieje (zły URL, usunięta podstrona).

Czy błąd 400 oznacza awarię strony?

Nie – 400 to błąd po stronie klienta, nie serwera. Strona działa prawidłowo, ale Twoja przeglądarka wysyła nieprawidłowe żądanie. Inni użytkownicy prawdopodobnie nie mają tego problemu. Jeśli 400 dotyczy wszystkich użytkowników na tej samej stronie – to raczej problem konfiguracji serwera (limity nagłówków, WAF).

Jak wyczyścić cookies tylko dla jednej strony?

Chrome: kliknij kłódkę obok URL → „Pliki cookie i dane witryn” → „Zarządzaj danymi…” → usuń cookies dla tej domeny. Firefox: kłódka → „Wyczyść pliki cookie i dane witryn”. Nie musisz czyścić cookies ze wszystkich stron – wystarczy usunąć te problematyczne.

Picture of Tomasz Zieliński
Tomasz Zieliński

Tomasz zajmuje się tematyką SEO, sztucznej inteligencji i automatyzacji pracy w marketingu internetowym. W swoich artykułach analizuje zmiany w algorytmach wyszukiwarek, rozwój narzędzi AI oraz nowe sposoby tworzenia i optymalizacji treści. Interesuje go przede wszystkim to, jak technologia wpływa na codzienną pracę specjalistów SEO, marketerów i twórców internetowych.

Facebook
Twitter
LinkedIn
Pinterest

Najnowsze Wpisy

Śledź nas