Kody statusu HTTP objaśnione, od 200 do 503
Za każdym razem gdy przeglądarka prosi serwer o coś, serwer odpowiada trzycyfrową liczbą, zanim odeśle jakikolwiek HTML, obraz czy JSON. Ta liczba to kod statusu HTTP i jest to krótki sposób serwera na powiedzenie, co się stało: strona jest tutaj, przeniosła się, nie masz dostępu lub coś po naszej stronie się popsuło. Przez większość czasu nigdy nie widzisz tych kodów, bo wszystko działa i strona się po prostu ładuje. Ale w chwili gdy witryna działa nieprawidłowo, kod statusu to pierwsza wskazówka warta odczytania.
Liczby nie są przypadkowe. Pierwsza cyfra porządkuje każdą odpowiedź w jedną z pięciu rodzin, więc nawet nieznany kod mówi Ci z grubsza, co poszło nie tak, już przez swój pierwszą cyfrę. Naucz się pięciu rodzin, a będziesz mógł odczytać niemal każdą odpowiedź na pierwszy rzut oka.

Pięć klas
1xx informacyjne. Serwer odebrał żądanie i nadal nad nim pracuje. Rzadko spotykane w codziennym przeglądaniu i zazwyczaj obsługiwane po cichu między przeglądarką a serwerem. Klasycznym przykładem jest 100 Continue, informujące klienta, że może wysłać resztę dużego ciała żądania.
2xx sukces. Żądanie powiodło się. 200 OK to kod, który chcesz widzieć cały dzień — oznacza, że zasób został znaleziony i jest na drodze powrotnej. 201 Created pojawia się po wysłaniu formularza lub wywołaniu API, które tworzy coś nowego, a 204 No Content oznacza, że akcja się powiodła, ale nie ma nic do wyświetlenia.
3xx przekierowanie. To, o co prosiłeś, znajduje się w innym miejscu i przeglądarka zwykle podąża za tym automatycznie. Przekierowania utrzymują stare odnośniki przy życiu i mają duże znaczenie dla pozycji w wyszukiwarkach.
4xx błąd klienta. Coś z żądaniem było nie tak po Twojej stronie: zły adres URL, brak logowania lub zasób, który nie istnieje. Serwer działa sprawnie; po prostu nie może przyjąć tego, co wysłałeś.
5xx błąd serwera. Twoje żądanie było prawidłowe, ale serwer potknął się podczas jego obsługi. To wskazuje na infrastrukturę witryny, a nie na Ciebie.
Konkretne kody, których ludzie faktycznie szukają
200 OK to zwykły sukces. Strona lub dane załadowały się zgodnie z oczekiwaniami.
301 Moved Permanently informuje przeglądarki i wyszukiwarki, że strona ma nowy stały adres. To przekierowanie przyjazne SEO, ponieważ przenosi sygnały rankingowe ze starego adresu URL na nowy. Użyj go, gdy zmieniasz URL na stałe.
302 Found to tymczasowe przekierowanie. Oryginalny URL jest nadal prawdziwym adresem, więc wyszukiwarki nadal go indeksują, zamiast indeksować cel. Sięgaj po 302 tylko wtedy, gdy przeprowadzka jest naprawdę krótkotrwała, na przykład przy kierowaniu użytkowników na sezonową stronę docelową.
304 Not Modified to cichy bohater szybkiego przeglądania. Informuje przeglądarkę, że kopia znajdująca się już w jej pamięci podręcznej jest nadal aktualna, więc serwer pomija ponowne wysyłanie pliku. Mniej danych, szybsze strony.
400 Bad Request oznacza, że serwer nie mógł nawet zrozumieć żądania, często z powodu nieprawidłowej składni lub nieważnego parametru.
401 Unauthorized można przetłumaczyć mniej więcej jako „nie wiem, kim jesteś, proszę się uwierzytelnić". Brakuje Ci ważnych poświadczeń.
403 Forbidden to co innego: serwer wie, kim jesteś, i nadal odmawia. Nie masz uprawnień i ponowne zalogowanie nie pomoże.
404 Not Found to najsłynniejszy kod ze wszystkich. Serwer działa i odpowiedział, ale pod tym adresem nic nie ma. Zwykle wynika z błędnie wpisanego odnośnika lub strony, która została usunięta lub przeniesiona bez przekierowania.
429 Too Many Requests oznacza, że zostałeś ograniczony przez limit zapytań. Wysłałeś zbyt wiele żądań w zbyt krótkim oknie czasowym i serwer prosi Cię o zwolnienie. Interfejsy API używają tego stale.
500 Internal Server Error to ogólna odpowiedź „coś się zepsuło". Serwer napotkał nieoczekiwany stan i się poddał, ale nie mówi co. Sprawdź logi serwera.
502 Bad Gateway pojawia się, gdy jeden serwer działający jako brama lub proxy otrzymuje nieprawidłową odpowiedź od serwera nadrzędnego znajdującego się za nim. Często sygnał, że aplikacja backendowa uległa awarii lub jest nieosiągalna.
503 Service Unavailable oznacza, że serwer jest tymczasowo przeciążony lub wyłączony na czas konserwacji. W przeciwieństwie do 500 sugeruje, że problem jest krótkotrwały i witryna powinna wkrótce wrócić.

Co kody statusu oznaczają dla SEO i debugowania
Dla pozycji w wyszukiwarkach to właśnie różnica między 301 a 302 jest pułapką, na którą ludzie się nabierają. Trwałe przeniesienie powinno zawsze używać 301, by nowa strona przejęła autorytet starej; 302 w złym miejscu może sprawić, że wyszukiwarki będą indeksować oryginalny URL i dzielić Twoje sygnały. Tymczasem duże liczby błędów 404 marnują budżet indeksowania i frustrują odwiedzających, więc warto przekierowywać lub naprawiać uszkodzone odnośniki zamiast zostawiać je samym sobie.
Podczas debugowania rodzina mówi Ci, gdzie szukać. Błąd 4xx wskazuje na żądanie, więc sprawdź URL, nagłówki i poświadczenia. Błąd 5xx wskazuje na serwer, więc sprawdź logi aplikacji, usługi nadrzędne i czy ostatnio wdrożono zmiany, które mogły coś popsuć. Fala błędów 502 i 503 często oznacza, że backend jest wyłączony lub przeciążony, a nie błąd kodu. Możesz sprawdzić dokładny status zwracany przez witrynę za pomocą naszych narzędzi deweloperskich, a gdy błąd 5xx wygląda bardziej na problem z łącznością niż błąd aplikacji, szybkie wyszukiwanie DNS może potwierdzić, czy domena nadal rozwiązuje się na właściwy adres.
Najczęściej zadawane pytania
Czy błąd 404 jest szkodliwy dla mojej strony?
Kilka błędów 404 jest normalne i nieszkodliwe. Problemy zaczynają się, gdy popularne strony zwracają 404 lub gdy uszkodzone linki wewnętrzne narastają, marnując budżet indeksowania i frustrując odwiedzających. Przekierowuj przeniesione strony i naprawiaj uszkodzone odnośniki.
Jaka jest różnica między przekierowaniem 301 a 302?
Kod 301 jest trwały i przenosi sygnały rankingowe na nowy URL, więc używaj go, gdy strona przenosi się na stałe. Kod 302 jest tymczasowy i zachowuje oryginalny URL w indeksie, więc używaj go tylko dla krótkotrwałych przeniesień.
Jaka jest różnica między 401 a 403?
Kod 401 oznacza, że się nie uwierzytelniłeś, więc zalogowanie może pomóc. Kod 403 oznacza, że serwer Cię rozpoznaje, ale nadal odmawia dostępu, bo nie masz uprawnień, więc ponowne zalogowanie nie pomoże.
Co oznacza błąd 500 i jak go naprawić?
Błąd 500 Internal Server Error oznacza, że serwer napotkał nieoczekiwany błąd podczas obsługi żądania. Komunikat jest celowo ogólny, więc naprawa zwykle zaczyna się od odczytania logów serwera, by znaleźć prawdziwą przyczynę.
Dlaczego otrzymuję kod statusu 429?
Kod 429 Too Many Requests oznacza, że zostałeś ograniczony przez limit zapytań za zbyt szybkie wysyłanie żądań. Zwolnij, szanuj nagłówek Retry-After zwracany przez serwer i dodaj mechanizm wycofywania do skryptów i klientów API.
Co oznacza 503 Service Unavailable?
Kod 503 oznacza, że serwer jest tymczasowo niezdolny do obsługi żądania, zwykle z powodu przeciążenia lub zaplanowanej konserwacji. Sygnalizuje krótkotrwały problem, więc witryna powinna wkrótce samodzielnie wrócić do działania.
