Przeglądarka i serwer wymieniają komunikaty, które mówią, czy żądanie zostało poprawnie obsłużone, czy nastąpiło przekierowanie, a może pojawił się błąd. Takie dane to kody odpowiedzi HTTP. Ich zrozumienie pomaga szybciej diagnozować problemy i odpowiedzieć na pytanie, czy problem leży po stronie użytkownika, aplikacji czy infrastruktury. Jeśli interesuje Cię lista kodów HTTP i ich znaczenie, poniżej znajdziesz uporządkowane wyjaśnienie najważniejszych grup.
Spis treści
Czym są kody odpowiedzi HTTP i jak działają?
Przeglądarka wysyła żądanie na serwer, który je analizuje, a następnie przetwarza i odsyła kod statusu. Kody odpowiedzi HTTP to trzycyfrowe statusy zwracane przez serwer po otrzymaniu żądania od klienta (najczęściej przeglądarki). Każdy kod informuje o wyniku operacji – czy wszystko przebiegło pomyślnie, czy zasób został przeniesiony, czy wystąpił błąd. W praktyce znaczenie kodów HTTP jest kluczowe dla diagnostyki i pozwala od razu zawęzić obszar problemu.
Kody HTTP 1xx – odpowiedzi informacyjne
Grupa HTTP 1xx to odpowiedzi informacyjne. Oznaczają, że serwer przyjął żądanie i proces trwa, ale nie ma jeszcze finalnej odpowiedzi. To kody spotykane rzadziej w codziennej analizie, bo przeglądarka zwykle obsługuje je automatycznie.
Najczęściej możesz zobaczyć:
- 100 Continue – serwer potwierdza, że można kontynuować wysyłanie żądania (np. w przypadku dużych danych),
- 101 Switching Protocols – serwer zgadza się na zmianę protokołu (np. przy przejściu na WebSocket).
- 102 Processing – oznacza przetwarzanie danych, ale ostateczna odpowiedź nie jest jeszcze gotowa,
- 103 Early Hints – umożliwia serwerowi wysyłanie nagłówków HTTP z zasobami (np. CSS) przed pełnym przetworzeniem żądania, co przyspiesza ładowanie strony.
Jeśli analizujesz rodzaje kodów HTTP, 1xx traktuj jako etap pośredni – nie mówią o sukcesie ani o błędzie, tylko o przebiegu komunikacji.
Kody HTTP 2xx – poprawne przetwarzanie żądania
HTTP 2xx oznacza, że żądanie zostało poprawnie obsłużone. To najbardziej pożądany komunikat z całej listy kodów http. Ich znaczenie określają poszczególne numery:
- 200 OK – wszystko zadziałało, serwer zwrócił treść,
- 201 Created – zasób został utworzony (często w API, np. po dodaniu wpisu),
- 202 Accepted – żądanie jest przyjęte do przetworzenia, ale nie zostało jeszcze zakończone,
204 No Content – operacja się powiodła, ale bez treści w odpowiedzi (np. zapis ustawień).
Rzadziej, ale jednak pojawiają się takie komunikaty jak:
- 203 Non-Authoritative Information – zwrócone dane pochodzą z kopii, a nie z serwera źródłowego,
- 205 Reset Content – informuje klienta o konieczności zresetowania widoku np. poprzez wyczyszczenie formularza,
- 206 Partial Content – serwer zwrócił jedynie część zasobu. Najczęściej pojawia się przy wznawianiu pobierania.
Kody HTTP 3xx – przekierowania
Kody HTTP 3xx to przekierowania – serwer informuje, że zasób znajduje się pod innym adresem lub że klient powinien wykonać dodatkowy krok. W praktyce 3xx to często normalny element konfiguracji jak przekierowanie z http na https albo z wersji bez „www” na „www”. Najczęstsze komunikaty to:
- 301 Moved Permanently – stałe przekierowanie na nowy adres URL. To szczególnie ważne z punktu widzenia dla SEO, bo przeglądarki powinny zaktualizować swoje indeksy. W tym przypadku wszystkie korzyści pozyskane ze starego adresu są przeniesione na nowy,
- 302 Found – tymczasowe przekierowanie na inny adres,
- 304 Not Modified – zasoby nie zmodyfikowano, a przeglądarka używa pamięci podręcznej, co przyspiesza ładowanie i oszczędza transfer,
- 308 Permanent Redirect – to trwałe przekierowanie, które wymusza zachowanie oryginalnej metody HTTP przy przekierowaniu.
Przekierowania bardzo często wiążą się z HTTPS. Jeśli wdrażasz szyfrowanie, zadbaj o prawidłowy certyfikat SSL i spójne reguły przekierowań.
Kody HTTP 4xx – błędy po stronie klienta
HTTP 4xx oznacza, że problem dotyczy żądania po stronie klienta – adresu, uprawnień, danych wysyłanych do serwera lub limitów. W praktyce to często wynik błędnego linku, braku autoryzacji albo blokady dostępu. Najważniejsze kody odpowiedzi HTTP http 4xx:
- 400 Bad Request – serwer nie rozumie żądania ze względu na błędną składnię,
- 401 Unauthorized – brak autoryzacji, wymagane jest uwierzytelnienie, bo użytkownik nie podał poprawnych danych logowania
- 403 Forbidden – dostęp zabroniony, serwer zrozumiał żądanie, ale odmawia jego spełnienia ze względu na brak uprawnień.
- 404 Not Found – zasób nie istnieje lub link jest błędny,
- 408 Request Timeout – serwer przerwał czekanie na żądanie (upłynął limit czasu),
- 410 Gone – zasób został trwale usunięty,
- 429 Too Many Requests – zbyt wiele żądań w krótkim czasie.
Jeżeli widzisz wzrost 401/403 albo 429, warto sprawdzić reguły bezpieczeństwa, limity oraz logi. W wielu przypadkach to nie awaria, tylko mechanizm ochrony przed nadużyciami. Najczęściej pojawiające się kody 4xx są winą użytkownika lub agencji, która zajmuje się stroną.
Kody HTTP 5xx – błędy po stronie serwera
HTTP 5xx to sygnał, że serwer napotkał problemy techniczne i nie jest w stanie przetworzyć żądania. Dla użytkownika oznacza to zwykle, że strona nie działa, a dla właściciela konieczność szybkiej diagnostyki po stronie aplikacji lub infrastruktury. Sprawdź, jak interpretować kody błędów w tej grupie?
- 500 Internal Server Error – ogólny błąd serwera, który nie potrafi zdefiniować problemu,
- 501 Not Implemented – serwer nie obsługuje funkcjonalności wymaganej do żądania,
- 502 Bad Gateway – problem na styku serwera i komponentu pośredniczącego (np. reverse proxy, PHP-FPM),
- 503 Service Unavailable – usługa tymczasowo niedostępna, najprawdopodobniej przeciążenie czy w trakcie prac serwisowych,
- 504 Gateway Timeout – przekroczony czas oczekiwania na odpowiedź serwera nadrzędnego,
- 505 HTTP Version Not Supported – serwer nie wspiera użytej wersji protokołu http,
- 509 Bandwidth Limit Exceeded – przekroczono limit transferu danych przez właściciela.
Jeśli 5xx pojawiają się przy większym ruchu, problemem może być wydajność – za mało zasobów, zbyt wolne zapytania do bazy albo zbyt niskie limity. Wtedy warto zweryfikować, czy obecne środowisko jest dopasowane do projektu – np. stabilny hosting www dla lżejszych stron będzie optymalny, ale w przypadku zaawansowanych sklepów znacznie lepiej sprawdzi się serwer dedykowany.
FAQ – Najważniejsze pytania i odpowiedzi
Jaka jest główna różnica między błędami 4xx a 5xx?
Kody 4xx oznaczają błąd po stronie użytkownika (np. błędny adres URL w kodzie 404), natomiast kody 5xx sygnalizują problem po stronie serwera (np. przeciążenie lub błąd w kodzie aplikacji, jak w popularnym 500 Internal Server Error).
Dlaczego kod 301 jest kluczowy dla pozycjonowania (SEO)?
Kod 301 (Moved Permanently) informuje wyszukiwarki, że strona na stałe zmieniła adres. Dzięki temu roboty Google przenoszą „moc” i historię starego adresu na nowy, co pozwala uniknąć spadków w wynikach wyszukiwania po zmianie domeny lub struktury linków.
Czy kod 200 OK zawsze oznacza brak problemów?
Z technicznego punktu widzenia – tak. Kod 200 OK potwierdza, że serwer poprawnie odebrał żądanie i dostarczył treść. Nie gwarantuje jednak, że sama treść strony jest poprawnie wyświetlana przez przeglądarkę, ale potwierdza sprawną komunikację na linii klient-serwer.
