
Przeglądasz sobie spokojnie strony internetowe gdy nagle pojawia się słynny błąd 404. Ale właściwe, co tak naprawdę oznacza ta liczba?
Gdy nawiązujesz połączenie ze stroną internetową, twoja przeglądarka przesyła do docelowego serwera zapytanie HTTP (HTTP header). Jak to zazwyczaj bywa z zapytaniami, oczekujemy po jego wysłaniu odpowiedniej odpowiedzi.
Czasami otrzymana odpowiedź może nas nie satysfakcjonować, przykładowo strona nie wyświetli nam żadnych informacji. Cóż, ale gdzie w takim razie leży problem?
Na to pytanie pozwolą nam odpowiedzieć kody odpowiedzi HTTP (HTTP response status codes).
Dzielimy je na 5 kategori, zaś przynależność danego kodu do kategorii wyznacza jego pierwsza cyfra.

4xx
Tak więc słynny kod 404 oznaczający, że nie udało się odnaleźć żądanego zasobu, należy do kategorii błędów po stronie klienta. Oznacza to, że przyczyny błędu powinniśmy szukać u siebie (np. niepoprawnie wpisaliśmy adres podstrony)
Popularnym błędem z kategorii czwartej jest również kod 403 oznaczający, że klient nie ma praw dostępu do treści (czyli jest nieautoryzowany).
Kod 401 Unauthorized- wbrew nazwie nie mówi o braku autoryzacji. Oznacza on natomiast, że klient musi się uwierzytelnić, aby uzyskać żądaną odpowiedź.
(różnicę między autoryzacją a uwierzytelnianiem przedstawiłem w tekście o uwierzytelnianiu dwuskładnikowym: https://cybpas.pl/2022/12/15/uwierzytelnianie-dwuskladnikowe/ )
5xx
Błędy z kategorii piątej dotyczą samego serwera. Do najpopularniejszych należą:
500 Internal Server Error- Serwer napotkał problem i nie wie, jak sobie z nim poradzić.
503 Service Unavailable – Serwer nie jest gotowy do obsługi żądania. (zazwyczaj oznacza to, że serwer został wyłączony lub jest przeciążony)
504 Gateway Timeout- Serwer nie otrzymał w wymaganym czasie odpowiedzi z innego serwera, podczas wczytywania strony.
1xx
Kody z grupy pierwszej jak sama nazwa wskazuje, są czysto informacyjne, do najpopularniejszych należą:
100 Continue – oznacza że klient powinien kontynuować żądanie.
102 Processing – serwer otrzymał i przetwarza żądanie, ale nie ma jeszcze odpowiedzi.
2xx
Kody z grupy drugiej informują o udanej odpowiedzi ( w zależności jakie było nasze żądanie), do najpopularniejszych należą:
200 OK- Oznacza, że żądanie zostało spełnione.
201 Created- wskazuje, że żądanie zakończyło się sukcesem i doprowadziło do utworzenia zasobu.
3xx
Kody 3xx to grupa odpowiedzi informująca, że przeglądarka musi wykonać inną czynność, aby uzyskać kompletny żądany zasób:
301 Moved Permanently- Adres URL żądanego zasobu został zmieniony na stałe. Nowy adres URL jest podany w odpowiedzi.
302 Found- Ten kod odpowiedzi oznacza, że URI żądanego zasobu został tymczasowo zmieniony.