informuje, że serwer otrzymał i przetwarza żądanie, ale klient musi jeszcze
zaczekać na odpowiedź. Żądanie może zawierać wiele pod-zapytań, które obejmuje
operacje na plikach, co wymaga dłuższego czasu na wykonanie żądania. Zapobiega
to przekroczeniu czasu przez klienta i założeniu, że żądanie zostało utracone.
103 Early Hints („Wczesne wskazówki”; RFC 8297)
pozwala klientowi rozpocząć wstępne ładowanie zasobów w czasie, gdy serwer
przygotowuje odpowiedź.
2xx Powodzenie
200 OK
Kod informujący, że żądanie zakończyło się sukcesem.
201 Created („Utworzony”)
żądanie powiodło się i został stworzony nowy zasób. Jest to typowa odpowiedź
wysyłana po żądaniach POST lub po niektórych żądaniach typu PUT.
202 Accepted („Przyjęte”)
odebrano żądanie, ale jeszcze nie jest wykonane. Kod jest przeznaczony dla
przypadków, kiedy inny proces lub serwer obsługuje żądanie lub dla przetwarzania
wsadowego (batch processing).
203 Non-Authoritative Information („Informacje nieautoryzowane”)
zwrócone metadane nie są dokładnie takie same jak te, które są dostępne na
serwerze źródłowym, ale zostały zebrane z kopii lokalnej lub strony trzeciej.
Jest to najczęściej używane dla mirrorów lub kopii zapasowych innego zasobu.
204 No Content („Brak zawartości”)
serwer pomyślnie przetworzył żądanie klienta i nie zwraca żadnej zawartości
(brak zawartości sekcji „body”).
205 Reset Content („Resetuj zawartość”)
serwer zrealizował żądanie i należy przywrócić domyślny wygląd dokumentu.
206 Partial Content („Zawartość częściowa”)
żądanie zakończyło się częściowym sukcesem, a sekcja „body” zawiera żądane
dane i informacje, opisane w nagłówku „Range” żądania.
207 Multi-Status (WebDAV; RFC 4918)
informacja, że może istnieć wiele odpowiedzi dla danego zapytania (może
pasować wiele kodów statusu).
226 IM Used („Użyto IM”; RFC 3229)
żądanie zrealizowane, a odpowiedź to wynik IM.
208 Already Reported („Już zgłoszone”)
używany w statusie 207 (Multi-Status), aby zaoszczędzić miejsce i uniknąć konfliktów.
3xx Przekierowanie
300 Multiple Choices („Wiele możliwości”)
żądanie ma więcej niż jedną możliwą odpowiedź. Klient powinien wybrać jedną
z nich (rzadko używany, bo nie ma standardowego sposobu wyboru odpowiedzi).
301 Moved Permanently („Przeniesiono na stałe”)
żądany zasób został przeniesiony na stałe pod nowy adres URL. Klient
przekierowuje użytkownika do nowej lokalizacji, a boty wyszukiwarek aktualizują
swoje zasoby o tę informację (przeindeksowanie). Adres ten jest jednym
z najczęściej spotykanych podczas optymalizacji wyszukiwarek pod kątem SEO.
302 Found („Znaleziono”)
żądany zasób został tymczasowo przeniesiony pod inny adres URL. Klient
przekierowuje użytkownika na daną stronę, ale boty wyszukiwarek nie aktualizują
swoich zasobów o tę informację.
303 See Other („Zobacz inne”)
odpowiedź na żądanie znajduje się pod innym URI i klient powinien się tam skierować.
304 Not Modified („Nie zmieniono”)
nie ma potrzeby ponownego przesyłania żądania o wskazane zasoby. Jest to
niejawne przekierowanie do buforowanego zasobu.
305 Use Proxy („Użyj Proxy”)
do żądanego zasobu lub treści należy odwołać się poprzez serwer Proxy podany
w sekcji „Location” nagłówka odpowiedzi. Ze względów bezpieczeństwa wiele
klientów (m.in. Firefox) nie korzysta z tego statusu.
żądany zasób został tymczasowo przeniesiony pod inny adres URL.
Najważniejszą różnicą między kodem 307, a kodem 302 jest bezpieczeństwo
połączenia – przekierowanie 307 nie zmienia metody zapytania i dlatego jest ono
rekomendowane w przypadkach tymczasowych przeniesień. Przekierowanie 307,
podobnie jak 302, nie ma wpływu na pozycjonowanie.
308 Permanent Redirect („Przekierowanie stałe”)
żądany zasób został definitywnie przeniesiony pod inny adres URL. Działa
podobnie jak w przypadku kodu 301.
310 Too Many Redirects („Zbyt wiele przekierowań”)
podczas realizacji żądanie dochodzi do większej ilości przekierowań niż to
akceptowalne. Klient nie dotarł do ostatecznej lokalizacji zasobów, więc
użytkownik nie otrzyma żądanej treści.
4xx Błędy klienta
400 Bad Request („Nieprawidłowe żądanie”)
serwer nie może przetworzyć żądania z powodu błędu po stronie klienta (np.
nieprawidłowa składnia żądania, zbyt duży rozmiar, niepoprawny routing żądania).
401 Unauthorized („Nieautoryzowany dostęp”)
żądanie klienta nie zostało zakończone z powodu braku ważnych poświadczeń
uwierzytelniających dla żądanego zasobu.
402 Payment Required („Wymagana opłata”)
żądana zawartość nie jest dostępna, bo znajduje się za „paywallem".
403 Forbidden („Dostęp zabroniony”)
żądanie zostało przyjęte, ale konfiguracja bezpieczeństwa nie pozwala
zwrócić określoną treść lub zasób.
404 Not Found („Nie odnaleziono”)
serwer nie może znaleźć danego zasobu („broken link").
405 Method Not Allowed („Niedozwolona metoda”)
serwer zna metodę żądania, ale zasób docelowy nie obsługuje tej metody.
408 Request Timeout („Koniec czasu przeznaczonego na żądanie”)
serwer przekroczył czas oczekiwania na żądanie. Klient nie dokonał żądania
w czasie, w którym serwer był przygotowany do jego przyjęcia. Klient może
powtórzyć żądanie bez modyfikacji w dowolnym późniejszym czasie.
409 Conflict („Konflikt”)
zapytanie nie mogło zostać zrealizowane z powodu konfliktu w bieżących
zasobach (np. konflikt edycji pomiędzy wieloma jednoczesnymi aktualizacjami).
410 Gone („Usunięto”)
żądany zasób został trwale usunięty. Klient powinien już więcej nie
odwoływać się do tego zasobu.
415 Unsupported Media Type („Nieznany sposób żądania”)
serwer nie rozumie składni żądania.
418 I’m a Teapot („Jestem czajnikiem”; RFC 2324, RFC 7168)
żądanie nie posiada nagłówka wstępnego (np. If-Match), który jest wymagany
przez serwer.
429 Too Many Requests („Zbyt wiele żądań”; RFC 6585)
użytkownik wysłał zbyt wiele żądań w określonym czasie.
431 Request Header Fields Too Large („Zbyt duże pola nagłówka żądania”; RFC 6585)
odmowa przetworzenia żądania z powodu zbyt długich nagłówków HTTP.
451 Unavailable For Legal Reasons („Zawartość niedostępna z powodów prawnych”; RFC 7725)
zasób został zablokowany z powodu naruszenia prawa (lub także z powodu cenzury).
5xx Błędy serwera
500 Internal Server Error („Wewnętrzny błąd serwera”)
błąd po stronie serwera. Ogólna odpowiedź typu „catch-all”. Zazwyczaj
wskazuje na to, że serwer nie był w stanie znaleźć lepszego dopasowania do
któregoś kodu z grupy błędu 5xx.
501 Not Implemented („Nie zaimplementowano”)
brak obsługi funkcjonalności wymaganej do spełnienia żądania. Kod 501 jest
właściwą odpowiedzią, gdy serwer nie rozpoznaje metody żądania i nie jest
w stanie jej obsłużyć dla żadnego zasobu. Jedyne metody, które serwery muszą
wspierać (i dlatego nie mogą zwracać 501) to GET i HEAD. Jeśli serwer rozpoznaje
metodę, ale celowo jej nie obsługuje, lepszą alternatywą jest status 405 Method
Not Allowed.
502 Bad Gateway („Błąd bramki”)
serwer, działając jako brama lub proxy, otrzymał nieprawidłową odpowiedź od
serwera nadrzędnego i nie jest w stanie zrealizować żądania.
503 Service Unavailable („Usługa niedostępna”)
serwer nie jest gotowy do obsługi żądania. Typowe przyczyny to wyłączenie
serwera z powodu konserwacji lub jego przeciążenie (nagłówek Retry-After
powinien, jeśli to możliwe, zawierać szacowany czas do przywrócenia usługi).
504 Gateway Timeout („Przekroczono czas bramy”)
serwer działał jako brama lub proxy i nie otrzymywał w ustalonym czasie
odpowiedzi od serwera nadrzędnego, której potrzebował do zakończenia żądania.
505 HTTP Version Not Supported („Nieobsługiwana wersja HTTP”)