Kod odpowiedzi HTTP to trzycyfrowa liczba, którą serwer dołącza do każdej odpowiedzi: błąd 404 znaczy, że pod tym adresem serwer nie znalazł strony, a każdy kod zaczynający się od 5 oznacza awarię po stronie serwera, na którą odwiedzający nie ma wpływu. Pierwsza cyfra mówi więc od razu, po czyjej stronie leży problem i czy jako odwiedzający możesz coś zrobić.
Spis treści
- Pięć klas kodów HTTP
- Najczęstsze kody błędów: tabela
- Błąd 404
- Błąd 403
- Błąd 500
- Błędy 502 i 504
- Błąd 503
- Błąd 429
- Jak sprawdzić kod odpowiedzi
- Najczęstsze pytania
Kody HTTP w skrócie: pięć klas
Każdy kod odpowiedzi HTTP mieści się w zakresie od 100 do 599, a jego pierwsza cyfra wyznacza klasę. Tak definiuje je norma RFC 9110 z czerwca 2022 roku, która opisuje znaczenie wiadomości HTTP. Dwie ostatnie cyfry nie mają znaczenia porządkowego.
| Klasa | Co znaczy według RFC 9110 | Przykłady |
|---|---|---|
| 1xx | informacja: żądanie przyjęte, przetwarzanie trwa | 100 Continue |
| 2xx | sukces: żądanie odebrane, zrozumiane i przyjęte | 200 OK |
| 3xx | przekierowanie: potrzebny kolejny krok, zwykle inny adres | 301, 302, 308 |
| 4xx | błąd po stronie klienta: złe żądanie albo nie da się go spełnić | 400, 401, 403, 404, 410, 429 |
| 5xx | błąd po stronie serwera: poprawne żądanie, którego serwer nie obsłużył | 500, 502, 503, 504 |
Przeglądarka nie musi znać wszystkich kodów. Jeśli dostanie nieznany kod, na przykład 471, ma go traktować jak podstawowy kod tej klasy, czyli 400. Słowa po liczbie, takie jak “Not Found”, są tylko podpowiedzią. Serwer może je zmienić albo pominąć, więc w diagnozie liczy się sama liczba.

Najczęstsze kody błędów HTTP: co zrobić jako odwiedzający i jako właściciel
| Kod | Co znaczy | Odwiedzający | Właściciel strony |
|---|---|---|---|
| 404 Not Found | pod tym adresem nie ma strony | sprawdź adres, wejdź od strony głównej | przekieruj stary adres (301) albo zostaw 404 |
| 410 Gone | strona usunięta na stałe | szukaj treści w innym miejscu | używaj, gdy wiesz, że treść nie wróci |
| 401 Unauthorized | brak ważnego logowania | zaloguj się | sprawdź mechanizm logowania |
| 403 Forbidden | serwer rozumie żądanie, ale odmawia | sprawdź, czy masz dostęp; spróbuj z innej sieci | uprawnienia plików, reguły .htaccess, blokady IP |
| 429 Too Many Requests | za dużo żądań w krótkim czasie | odczekaj | sprawdź limity i nagłówek Retry-After |
| 500 Internal Server Error | serwer napotkał nieoczekiwany problem | odśwież za chwilę | logi serwera, PHP lub aplikacji |
| 502 Bad Gateway | serwer pośredniczący dostał złą odpowiedź | odśwież za chwilę | czy działa aplikacja za serwerem pośredniczącym |
| 503 Service Unavailable | przeciążenie albo przerwa techniczna | odczekaj | obciążenie, tryb konserwacji, Retry-After |
| 504 Gateway Timeout | serwer pośredniczący nie doczekał się odpowiedzi | odśwież za chwilę | wolne zapytania, limity czasu |
Kody 4xx często da się obejść po stronie odwiedzającego, bo dotyczą adresu albo uprawnień. Kody 5xx naprawia tylko administrator serwera. Czyszczenie pamięci podręcznej czy zmiana przeglądarki zwykle nic tu nie da.
Błąd 404 Not Found: co oznacza i co zrobić
Błąd 404 oznacza, że serwer nie znalazł pod danym adresem żadnej strony albo nie chce ujawnić, że ona istnieje. Kod nie mówi, czy brak jest chwilowy, czy stały. Do sygnalizowania trwałego usunięcia służy osobny kod 410 Gone (RFC 9110, sekcje 15.5.5 i 15.5.11).
Jako odwiedzający sprawdź najpierw adres w pasku przeglądarki. Literówka, ucięty fragment linku albo adres z dawnej zakładki to najczęstsze przyczyny. Jeśli adres wygląda poprawnie, wejdź na stronę główną serwisu i poszukaj treści w wyszukiwarce. Błąd 404 wysyła serwer, który dostał zapytanie o nieistniejący adres, więc nie świadczy o problemie z twoim komputerem.
Jako właściciel zdecyduj, co ma się stać ze starym adresem. Google w poradniku “Do 404s hurt my site?” z 2 maja 2011 roku zaleca przekierowanie 301, gdy treść przeniesiono pod nowy adres. Gdy treść zniknęła i nic jej nie zastępuje, właściwy jest kod 404 albo 410.
Czy błąd 404 szkodzi stronie w Google
Pojedyncze adresy z błędem 404 nie obniżają pozycji całej witryny. Google napisało w tym samym wpisie z 2011 roku, że sam fakt istnienia takich adresów nie działa na niekorzyść strony. Według aktualnej dokumentacji robotów Google (aktualizacja z 4 lutego 2026 roku) adres zwracający 404 wypada z indeksu, a nowo znalezione adresy 404 nie są w ogóle przetwarzane. Szkodzi więc dopiero 404 na stronie, która miała ruch i linki, bo tracisz ją z wyników.
Osobnym problemem jest tzw. soft 404. Powstaje, gdy nieistniejący adres pokazuje komunikat błędu, ale serwer nie zwraca kodu 404 ani 410, najczęściej odpowiada kodem 200. Google zgłasza ją wtedy w Search Console jako błąd. Sprawdź, czy twoja strona błędu naprawdę zwraca 404.
Frontend Master 2026 · Kodożercy
Zrozum, co się dzieje pod spodem twojej strony
Frontend Master 2026 to sześć kursów Kodożerców z HTML, CSS, JS i Git. Z fundamentami przestajesz kopiować bez zrozumienia, zaczynasz świadomie poprawiać, łączyć i rozszerzać każdy projekt.
Zobacz program →
Błąd 403 Forbidden: serwer odmawia dostępu
Błąd 403 oznacza, że serwer zrozumiał żądanie, ale odmawia jego wykonania. Według RFC 9110 powód nie musi mieć związku z logowaniem. Serwer może też odpowiedzieć 404 zamiast 403, żeby nie zdradzać, że zasób istnieje.
Kod 403 różni się od 401. Przy 401 w żądaniu brakuje ważnych danych logowania i serwer prosi o nie. Przy 403 serwer odmawia mimo zrozumienia żądania, a jeśli dane logowania podano, uznaje je za niewystarczające. Dokumentacja MDN ujmuje to tak, że przy 403 tożsamość klienta jest serwerowi znana.
Jako odwiedzający sprawdź, czy jesteś zalogowany na właściwe konto i czy adres nie prowadzi do panelu administracyjnego albo katalogu, którego serwis nie udostępnia. Część serwisów blokuje ruch z wybranych adresów IP, krajów albo sieci VPN. Wtedy pomaga wyłączenie VPN-a albo próba z innej sieci, na przykład z telefonu na danych komórkowych. Ten sam mechanizm może stać za stroną weryfikacji w rodzaju CAPTCHA.
Jako właściciel sprawdź uprawnienia plików i katalogów na serwerze, reguły w .htaccess albo konfiguracji serwera, ustawienia zapory aplikacji i wtyczek bezpieczeństwa. Google zaznacza w dokumentacji robotów, żeby nie używać kodów 401 ani 403 do ograniczania tempa indeksowania.
Błąd 500 Internal Server Error: awaria po stronie serwera
Błąd 500 oznacza, że serwer trafił na nieoczekiwany problem i nie mógł obsłużyć żądania. To ogólny kod, którego serwer używa, gdy nie ma lepszego kodu z rodziny 5xx. Odwiedzający może tylko odczekać i odświeżyć stronę za kilka minut.
Na stronach na WordPressie dokumentacja WordPress.org o najczęstszych błędach podaje dla błędu 500 taką kolejność:
- Zmień nazwę pliku
.htaccessna.htaccess_old(przez FTP, w katalogu głównym strony) i sprawdź, czy strona działa. Jeśli tak, wejdź w Ustawienia > Bezpośrednie odnośniki i zapisz je ponownie, żeby WordPress wygenerował nowy.htaccess. - Wyłącz wszystkie wtyczki. Bez dostępu do panelu zmień przez FTP nazwę katalogu
wp-content/plugins. - Przełącz motyw na domyślny motyw WordPressa.
- Zwiększ limit pamięci PHP.
- Wgraj ponownie katalogi
wp-adminiwp-includesz czystej instalacji WordPressa.
Zanim zaczniesz zgadywać, zajrzyj do logów błędów PHP w panelu hostingu. Komunikat z logu zwykle wskazuje plik i linię, które wywołały błąd.
Błąd 502 Bad Gateway i 504 Gateway Timeout
Błędy 502 i 504 zgłasza serwer pośredniczący, który stoi między przeglądarką a aplikacją. Może to być CDN, reverse proxy (serwer pośredniczący przyjmujący ruch w imieniu aplikacji) albo moduł serwera WWW przekazujący żądania do PHP. Różnica jest jedna: przy 502 pośrednik dostał od aplikacji nieprawidłową odpowiedź, a przy 504 nie dostał żadnej w wyznaczonym czasie (RFC 9110, sekcje 15.6.3 i 15.6.5).

Jako właściciel przy 502 sprawdź, czy proces aplikacji w ogóle działa, na przykład czy nie padła usługa PHP albo kontener. Przy 504 szukaj wolnych zapytań do bazy danych i porównaj limity czasu pośrednika z czasem, jaki aplikacja potrzebuje na odpowiedź. Jeśli używasz CDN, jego panel zwykle pokazuje, który serwer odpowiedział błędem. Pojęcia domeny, hostingu i serwera wyjaśniamy w tekście o domenie i hostingu.
Błąd 503 Service Unavailable: przeciążenie albo przerwa
Błąd 503 oznacza, że serwer chwilowo nie może obsłużyć żądania, bo jest przeciążony albo trwa zaplanowana przerwa techniczna. Norma zakłada, że problem minie po jakimś czasie. Serwer może dołączyć nagłówek Retry-After z informacją, kiedy spróbować ponownie.
Nie ma ustalonego czasu, po którym błąd 503 znika. Jeśli serwis podał godzinę przerwy, trzymaj się jej. Jeśli nie, spróbuj ponownie za kilkanaście minut.
Jako właściciel używaj 503 świadomie przy pracach serwisowych i dodawaj Retry-After. Google traktuje kody 5xx jako sygnał, żeby zwolnić indeksowanie. Zaindeksowane adresy zostają przez jakiś czas w indeksie, ale przy błędach utrzymujących się długo z niego wypadają.
429 Too Many Requests i limity API
Kod 429 oznacza, że klient wysłał za dużo żądań w określonym czasie. Opisuje go osobna norma RFC 6585 z kwietnia 2012 roku, bo RFC 9110 go nie definiuje. Norma nie mówi, jak serwer liczy żądania ani jak rozpoznaje użytkownika, więc każdy serwis ustala limity po swojemu.
Najczęściej trafiają na niego programiści korzystający z API i skrypty pobierające dane. Rozwiązaniem jest odczekanie czasu z nagłówka Retry-After, jeśli serwer go podał, i ograniczenie liczby zapytań w skrypcie. Google traktuje 429 jak błąd serwera i zwalnia indeksowanie.
Jak sprawdzić kod odpowiedzi strony
Kod odpowiedzi sprawdzisz w przeglądarce, w terminalu albo kilkoma linijkami Pythona. Wynik może się różnić zależnie od tego, czy narzędzie idzie za przekierowaniem i jakiego rodzaju zapytanie wysyła.
W przeglądarce: narzędzia deweloperskie
W Chrome otwórz narzędzia deweloperskie klawiszem F12 albo skrótem Ctrl+Shift+I (na Macu Cmd+Option+I), według dokumentacji Chrome DevTools. Potem:
- Kliknij zakładkę Network.
- Przeładuj stronę, bo panel zapisuje tylko ruch, który pojawił się przy otwartych narzędziach.
- Odszukaj wiersz głównego dokumentu strony. Według dokumentacji Chrome zwykle jest pierwszy na liście. Kolumna Status pokazuje jego kod odpowiedzi.
W terminalu: curl -I
Polecenie curl -I wysyła żądanie HEAD, więc serwer zwraca same nagłówki, a kod pojawia się w pierwszej linii. Działa w terminalu macOS i Linuksa oraz w Git Bash na Windowsie. Wyniki dla naszej strony z 24 października 2026 roku, godz. 9:12, przycięte do najważniejszych nagłówków:
$ curl -I https://devstockacademy.pl/
HTTP/1.1 200 OK
Content-Type: text/html; charset=UTF-8
Server: LiteSpeed
$ curl -I http://devstockacademy.pl/
HTTP/1.1 301 Moved Permanently
Server: LiteSpeed
Location: https://devstockacademy.pl/
$ curl -I https://devstockacademy.pl/strona-ktorej-nie-ma/
HTTP/1.1 404 Not Found
Content-Type: text/html; charset=UTF-8
Adres z http:// dostaje przekierowanie 301 na wersję https://, a nagłówek Location wskazuje nowy adres. Dlaczego przeglądarki ostrzegają przed stronami bez HTTPS, opisujemy w tekście o ostrzeżeniu “Niezabezpieczona” w Chrome. Żeby curl poszedł za przekierowaniem, dodaj opcję -L. Sam kod bez nagłówków wypisze curl -s -o /dev/null -w "%{http_code}\n" adres.
W Pythonie: moduł urllib
Do sprawdzenia kilku adresów wystarczy biblioteka standardowa Pythona, bez instalowania pakietów:
import urllib.request
import urllib.error
urls = """
Akademia Devstock
Akademia Devstock
https://devstockacademy.pl/strona-ktorej-nie-ma/
""".split()
for url in urls:
# HEAD pobiera same nagłówki, bez treści strony
request = urllib.request.Request(url, method="HEAD")
try:
with urllib.request.urlopen(request, timeout=10) as response:
# urllib sam idzie za przekierowaniem 301/302
print(response.status, response.reason, url, "->", response.url)
except urllib.error.HTTPError as error:
# kody 4xx i 5xx trafiają tutaj jako wyjątek
print(error.code, error.reason, url)
except urllib.error.URLError as error:
# brak połączenia, błąd DNS, przekroczony czas
print("brak odpowiedzi:", error.reason, url)
Wynik z Pythona 3.14.3, uruchomiony 24 października 2026 roku:
200 OK https://devstockacademy.pl/ -> https://devstockacademy.pl/
200 OK http://devstockacademy.pl/ -> https://devstockacademy.pl/
404 Not Found https://devstockacademy.pl/strona-ktorej-nie-ma/
Druga linia pokazuje 200, bo urllib automatycznie poszedł za przekierowaniem 301 i zwrócił kod strony docelowej. Gdy serwer w ogóle nie odpowiada, skrypt wypisze “brak odpowiedzi” zamiast kodu. Jeśli powodem jest nazwa domeny, która się nie rozwiązuje, przyczyny trzeba szukać w DNS.
FAQ
Czy błąd 404 to wirus?
Błąd 404 jest zwykłą odpowiedzią serwera na zapytanie o adres, pod którym nie ma strony, i nie świadczy o infekcji komputera ani telefonu. Podejrzana jest dopiero sytuacja, w której zamiast błędu przeglądarka sama przenosi cię na nieznane strony z reklamami.
Dlaczego strona działa na telefonie, a na komputerze daje 403?
Najczęściej dlatego, że oba urządzenia łączą się z innej sieci albo z innymi ustawieniami. Telefon na danych komórkowych ma inny adres IP niż komputer w domowej sieci albo za VPN-em, a serwis może blokować wybrane adresy. Różnić mogą się też zapisane pliki cookie i rozszerzenia przeglądarki. Swój publiczny adres sprawdzisz w tekście o tym, jak sprawdzić adres IP.
Ile trwa błąd 503?
Nie ma stałego czasu. Serwer może podać przewidywany czas w nagłówku Retry-After, a serwisy często ogłaszają godziny przerw technicznych. Przy przeciążeniu błąd zwykle znika, gdy spadnie ruch.
Co oznacza kod 418?
Kod 418 pochodzi z primaaprilisowego dokumentu RFC 2324 z 1998 roku, który żartobliwie opisywał protokół sterowania dzbankiem do kawy. RFC 9110 rezerwuje ten numer, żeby nikt nie nadał mu nowego znaczenia. Nie ma on zastosowania na zwykłych stronach.
Strona firmowa, która zbiera zapytania od klientów
Projektujemy strony dla firm na WordPressie: szybkie, wygodne na telefonie i przygotowane pod Google. Pomożemy też napisać treści, które jasno tłumaczą, co sprzedajesz.
Podsumowanie
Przy każdym kodzie odpowiedzi HTTP najpierw spójrz na pierwszą cyfrę, bo wskazuje, po czyjej stronie leży problem. Kody 4xx, w tym błąd 404 i 403, dotyczą adresu albo dostępu, więc jako odwiedzający możesz poprawić adres, zalogować się albo spróbować z innej sieci. Kody 5xx powstają po stronie serwera i odwiedzającemu zwykle zostaje odczekać. Właściciel strony przekierowuje przeniesione adresy kodem 301 i pilnuje, żeby usunięte podstrony zwracały prawdziwe 404. Awarie z kodami 500 i 502 diagnozuje w logach serwera, a na czas prac serwisowych ustawia 503 z nagłówkiem Retry-After. Kod dowolnej strony sprawdzisz w narzędziach deweloperskich przeglądarki, poleceniem curl -I albo kilkoma linijkami Pythona.
Newsletter · DevstockAcademy & Kodożercy
Bądź na bieżąco ze światem IT, AI i automatyzacji
Co wtorek: newsy z branży, praktyczne tipy i narzędzia które warto znać. Zero spamu.



