Blog

Artykuły na blogu to źródło wiedzy na temat najnowszych trendów w hostingu. Odkryjmy razem, jak wykorzystać technologię, aby zwiększyć wydajność i bezpieczeństwo Twojej strony.


Błędy HTTP na stronie internetowej - co oznaczają i jak je naprawić?

Błędy HTTP na stronie internetowej – co oznaczają i jak je naprawić?

Twoja strona nagle przestała działać i widzisz tajemniczy komunikat „500 Internal Server Error”? A może klient zgłasza, że trafił na „404 Not Found”? Kody błędów HTTP to nie przypadkowe liczby – każdy z nich mówi coś konkretnego o tym, co poszło nie tak. W tym artykule wyjaśniamy najpopularniejsze błędy, ich przyczyny i sposoby naprawy.

Czym są kody HTTP?

Kiedy przeglądarka wysyła zapytanie do serwera, serwer odpowiada trzycyfrowym kodem statusu. Kody zaczynające się od 4xx oznaczają błąd po stronie klienta (użytkownika lub konfiguracji strony), a kody 5xx – błąd po stronie serwera. Znajomość tych kodów pozwala szybko zlokalizować problem i podjąć właściwe działania.

Błędy 4xx – problem po stronie klienta

🔴 400 Bad Request – złe zapytanie

Co oznacza? Serwer nie rozumie zapytania przeglądarki. Najczęściej wynika to z uszkodzonego URL, nieprawidłowych nagłówków HTTP lub błędnych danych przesłanych przez formularz.

Najczęstsze przyczyny:

  • Nieprawidłowy adres URL (np. niedozwolone znaki)
  • Uszkodzone ciasteczka (cookies) w przeglądarce
  • Błędne dane w żądaniu wysyłanym przez aplikację

Co zrobić?

  1. Odśwież stronę i sprawdź, czy adres URL nie zawiera błędów.
  2. Wyczyść ciasteczka i pamięć podręczną przeglądarki.
  3. Spróbuj otworzyć stronę w trybie incognito.
  4. Jeśli błąd dotyczy formularza – sprawdź walidację danych po stronie aplikacji.

🔴 401 Unauthorized – brak autoryzacji

Co oznacza? Dostęp do zasobu wymaga zalogowania lub podania prawidłowych danych uwierzytelniających. Użytkownik ich nie dostarczył lub są one nieprawidłowe.

Najczęstsze przyczyny:

  • Wygasła sesja logowania
  • Nieprawidłowe dane do logowania
  • Brak tokenu autoryzacyjnego w żądaniu API

Co zrobić?

  1. Zaloguj się ponownie do panelu lub aplikacji.
  2. Sprawdź, czy token API jest aktualny i poprawnie przekazywany.
  3. Zweryfikuj konfigurację systemu uwierzytelniania (np. .htpasswd).

🔴 403 Forbidden – brak dostępu

Co oznacza? Serwer rozumie zapytanie, ale odmawia jego wykonania. W odróżnieniu od błędu 401, tutaj autoryzacja nie pomoże – po prostu nie masz uprawnień do tego zasobu.

Najczęstsze przyczyny:

  • Nieprawidłowe uprawnienia plików lub folderów na serwerze (np. chmod 777 zamiast 755)
  • Brak pliku index.html / index.php w katalogu
  • Blokada adresu IP przez firewall lub plik .htaccess
  • Wyłączone listowanie katalogów

Co zrobić?

  1. Sprawdź uprawnienia plików – katalogi powinny mieć 755, pliki 644.
  2. Upewnij się, że w głównym katalogu istnieje plik startowy (index.php).
  3. Przejrzyj plik .htaccess pod kątem reguł blokujących dostęp.
  4. Skontaktuj się z hostingiem, jeśli Twój IP został zablokowany przez zaporę.

🔴 404 Not Found – strona nie istnieje

Co oznacza? Serwer działa prawidłowo, ale nie może znaleźć żądanego zasobu. Strona, plik lub podstrona pod tym adresem po prostu nie istnieje.

Najczęstsze przyczyny:

  • Usunięta lub przeniesiona podstrona bez ustawienia przekierowania.
  • Literówka w adresie URL.
  • Usunięty produkt lub kategoria w sklepie internetowym.
  • Błędnie skonfigurowane linki wewnętrzne lub zewnętrzne.

Co zrobić?

  1. Sprawdź, czy podstrona nie została przypadkowo usunięta lub przeniesiona.
  2. Ustaw przekierowanie 301 ze starego URL na nowy (ważne dla SEO!).
  3. Stwórz własną, przyjazną stronę błędu 404 z nawigacją i wyszukiwarką.
  4. Regularnie skanuj stronę narzędziami takimi jak Screaming Frog lub Ahrefs, aby wykrywać martwe linki.
  5. W WordPressie sprawdź ustawienia bezpośrednich odnośników (Ustawienia → Bezpośrednie odnośniki → Zapisz).

Wskazówka SEO: Nagromadzenie błędów 404 negatywnie wpływa na indeksowanie strony przez Google. Regularnie sprawdzaj raport pokrycia w Google Search Console.

🔴 429 Too Many Requests – zbyt wiele zapytań

Co oznacza? Użytkownik lub aplikacja wysyła zbyt wiele zapytań do serwera w krótkim czasie. Serwer celowo blokuje dalsze żądania, aby chronić zasoby.

Najczęstsze przyczyny:

  • Zbyt agresywne crawlowanie przez boty.
  • Błąd w aplikacji powodujący pętlę zapytań.
  • Atak brute force na panel logowania.
  • Przekroczone limity w API zewnętrznego serwisu.

Co zrobić?

  1. Sprawdź logi serwera, aby zidentyfikować źródło nadmiernych zapytań.
  2. Wdróż rate limiting po stronie hostingu lub aplikacji.
  3. Dodaj mechanizm opóźnienia w aplikacji przy ponownych zapytaniach do API.
  4. Zablokuj podejrzane IP w pliku .htaccess lub na poziomie firewalla.

Błędy 5xx – problem po stronie serwera

🔴 500 Internal Server Error – wewnętrzny błąd serwera

Co oznacza? To jeden z najbardziej ogólnych i najczęstszych błędów. Serwer napotkał nieoczekiwany problem, który uniemożliwia wykonanie zapytania. Przyczyna może być bardzo różna.

Najczęstsze przyczyny:

  • Błąd w pliku .htaccess (np. nieprawidłowa składnia).
  • Wyczerpany limit pamięci PHP (memory limit).
  • Błąd w kodzie aplikacji lub wtyczce (np. w WordPressie).
  • Uszkodzone uprawnienia plików.
  • Przekroczony czas wykonania skryptu (timeout).

Co zrobić?

  1. Sprawdź plik .htaccess – nawet jedna nieprawidłowa linia może spowodować błąd 500.
  2. Zwiększ limit pamięci PHP w pliku php.ini lub .htaccess: php_value memory_limit 256M.
  3. Wyłącz wszystkie wtyczki i włączaj je po jednej, aby znaleźć tę powodującą błąd.
  4. Sprawdź logi błędów serwera (error.log) – znajdziesz tam dokładną przyczynę.
  5. Skontaktuj się z pomocą techniczną hostingu z treścią błędu z logów.

🔴 502 Bad Gateway – błędna brama

Co oznacza? Serwer działający jako pośrednik (np. Nginx przed PHP-FPM) otrzymał nieprawidłową odpowiedź od serwera nadrzędnego. Strona działa, ale coś w komunikacji między serwerami się popsuło.

Najczęstsze przyczyny:

  • Przeciążony serwer aplikacji (PHP-FPM, Node.js).
  • Awaria lub restart serwera nadrzędnego.
  • Zbyt długi czas odpowiedzi aplikacji.
  • Błędna konfiguracja proxy (Nginx, Apache).

Co zrobić?

  1. Odświeżenie strony po chwili często pomaga – błąd może być chwilowy.
  2. Sprawdź status serwera i zużycie zasobów (CPU, RAM).
  3. Zrestartuj usługę PHP-FPM lub serwer aplikacji.
  4. Skontaktuj się z hostingiem, jeśli problem się powtarza.

🔴 503 Service Unavailable – usługa niedostępna

Co oznacza? Serwer chwilowo nie może obsłużyć zapytania – jest przeciążony lub w trakcie konserwacji. To tymczasowy stan, który powinien ustąpić samoistnie.

Najczęstsze przyczyny:

  • Nagły wzrost ruchu (np. wyprzedaż, kampania reklamowa).
  • Planowana przerwa techniczna.
  • Wyczerpanie zasobów serwera (zbyt wiele jednoczesnych połączeń).
  • Awaria sprzętowa po stronie dostawcy hostingu.

Co zrobić?

  1. Poczekaj kilka minut i odśwież stronę.
  2. Jeśli planujesz konserwację – wyświetl dedykowaną stronę „503 Maintenance” z nagłówkiem Retry-After.
  3. Rozważ upgrade planu hostingowego, jeśli błąd pojawia się regularnie przy wzrostach ruchu.

Wskazówka: Błąd 503 podczas dużych wyprzedaży to sygnał, że Twój hosting nie jest skalowalny. Warto rozważyć hosting z autoskalowaniem lub CDN, który odciąży serwer główny. Jeśli jesteś klientem STATNET odezwij się do nas przed planowaną dużą kampanią czy wyprzedażą. Dostosujemy parametry serwera tak, aby nie dochodziło do przeciążeń serwera.

🔴 504 Gateway Timeout – przekroczony czas odpowiedzi

Co oznacza? Serwer pośredniczący (np. Nginx) czekał zbyt długo na odpowiedź od serwera nadrzędnego i przerwał połączenie. Aplikacja po prostu za wolno odpowiada.

Najczęstsze przyczyny:

  • Zbyt wolne zapytania do bazy danych.
  • Długo działające skrypty PHP (np. import dużych plików CSV).
  • Przeciążony serwer bazy danych.
  • Zbyt niskie wartości timeout w konfiguracji serwera.

Co zrobić?

  1. Zoptymalizuj zapytania do bazy danych – dodaj indeksy, ogranicz wyniki.
  2. Zwiększ wartości max_execution_time i request_terminate_timeout w konfiguracji PHP i serwera.
  3. Przenieś długotrwałe operacje (np. importy) do kolejek zadań działających w tle.
  4. Sprawdź, czy serwer bazy danych nie jest przeciążony.

📋 Tabela podsumowująca

KodNazwaGdzie problem?Pilność
400Bad RequestZapytanie / aplikacjaŚrednia
401UnauthorizedBrak autoryzacjiNiska
403ForbiddenUprawnienia / konfiguracjaŚrednia
404Not FoundBrakująca stronaWysoka
429Too Many RequestsLimit zapytańŚrednia
500Internal Server ErrorSerwer / aplikacjaBardzo wysoka
502Bad GatewayKomunikacja serwerówWysoka
503Service UnavailablePrzeciążenie / konserwacjaWysoka
504Gateway TimeoutCzas odpowiedziWysoka

Co zrobić, gdy pojawi się błąd na stronie?

Pierwsze kroki (pierwsze 5 minut)

  • Odśwież stronę i sprawdź, czy błąd jest stały czy chwilowy.
  • Sprawdź stronę w innej przeglądarce lub urządzeniu.
  • Otwórz stronę w trybie incognito (wyklucza problem z cache).

Diagnostyka (kolejne 15 minut)

  • Sprawdź zużycie zasobów (CPU, RAM, dysk).
  • Przejrzyj logi błędów serwera (error.log, access.log).
  • Sprawdź, czy problem dotyczy całej strony czy tylko wybranych podstron.
  • Zidentyfikuj, kiedy błąd pojawił się po raz pierwszy (korelacja ze zmianami na stronie).

Naprawa

  • Dla błędów 4xx: sprawdź URL, uprawnienia plików i plik .htaccess.
  • Dla błędów 5xx: sprawdź logi, wyłącz wtyczki, sprawdź limit pamięci PHP.
  • Przywróć kopię zapasową, jeśli problem pojawił się po aktualizacji.
  • Ustaw przekierowania 301 dla wszystkich usuniętych lub przeniesionych stron.

Po naprawie

  • Przetestuj stronę na różnych urządzeniach i przeglądarkach.
  • Sprawdź Google Search Console pod kątem zindeksowanych błędów.
  • Wdróż monitoring dostępności strony (np. UptimeRobot), aby być powiadamianym o przyszłych problemach.
  • Udokumentuj przyczynę błędu i podjęte działania na przyszłość.

Podsumowanie

Błędy HTTP to nieodłączna część prowadzenia strony internetowej – kluczowe jest jednak, aby reagować na nie szybko i wiedzieć, gdzie szukać przyczyny. Większość problemów można rozwiązać samodzielnie, korzystając z logów serwera i panelu hostingowego.

Jeśli regularnie napotykasz błędy 500, 502 lub 503 – może to być sygnał, że parametry Twojego hostingu są za słabe w stosunku do wymagań strony. Skontaktuj się z naszym zespołem, a pomożemy dobrać plan dostosowany do potrzeb Twojego biznesu.