W protokole HTTP serwer zwraca kod statusu, który opisuje wynik obsługi żądania (np. wejścia na adres URL). Gdy użytkownik wpisze adres nieistniejącego zasobu (strony, pliku, endpointu), typową odpowiedzią jest "404". Ten kod oznacza, że serwer jest osiągalny i rozumie żądanie, ale nie znajduje wskazanego zasobu pod podaną ścieżką.
Dlaczego pozostałe kody nie pasują do opisu?
- "400" oznacza błędne żądanie (np. niepoprawna składnia, nieprawidłowe parametry, uszkodzony nagłówek). W sytuacji "nieistniejący zasób" żądanie może być poprawne, tylko adres wskazuje na coś, czego nie ma.
- "500" to wewnętrzny błąd serwera. Pojawia się, gdy aplikacja lub serwer napotkał problem podczas przetwarzania żądania (np. błąd aplikacji, wyjątek). To nie jest typowa odpowiedź na brak pliku/strony.
- "503" oznacza, że usługa jest tymczasowo niedostępna (np. przeciążenie, przerwa serwisowa). Znowu: dotyczy dostępności usługi, a nie istnienia konkretnego zasobu.
W praktyce egzaminacyjnej warto zapamiętać prostą regułę: 4xx zwykle wskazuje problem "po stronie klienta" (adres, uprawnienia, format żądania), a 5xx problem "po stronie serwera" (awaria, błąd aplikacji, niedostępność). Dla "nie znaleziono" najczęściej wybiera się właśnie 404.