Kody odpowiedzi HTTP

Ostatnio zaktualizowano: 8 maja, 2024

Kody odpowiedzi HTTP są wskaźnikiem, czy określane żądanie HTTP zostało pomyślnie zakończone. W tym artykule wyjaśnię znaczenie tych, z którymi spotykasz się najczęściej. 

 

Przeczytaj również:

Kody odpowiedzi HTTP 1

Ważna uwaga: Jeśli otrzymałeś odpowiedź, której nie ma na tej liście, to odpowiedź jest niestandardowa (najprawdopodobniej będzie dostosowana do oprogramowania serwera).

 

Moja podpowiedź: jeśli kody HTML po przeczytaniu mojego artykułu nadal wydadzą Ci się czarną magią, wypróbuj tworzenie strony z pomocą kreatorów stron www. W wyborze odpowiedniego może przydać Ci się moja opinia o WIX i o WebWave

 

Odpowiedzi informacyjne (100 -199)

Kod 100 Continue

To odpowiedź tymczasowa, która wskazuje, że klient powinien kontynuować żądanie lub zignorować odpowiedź, jeśli żądanie już zostało ukończone. 

Kod 102 Processing (WebDAV)

Ten kod wskazuje, że serwer otrzymał i przetwarza żądanie, jednak nie ma jeszcze żadnej odpowiedzi. Jest to też informacja, że nastąpi znaczne opóźnienie lub upłynie potencjalnie długi okres przed otrzymaniem ostatecznej odpowiedzi HTTP. 

 

Pomyślne odpowiedzi (200 – 299)

Kod 200 OK

Status 200 oznacza, że żądanie zostało zrealizowane. Wynik zależy od metody HTTP:

  • GET: Zasób został pobrany i przesłany w treści wiadomości.
  • HEAD: Nagłówki prezentacji są zawarte w odpowiedzi bez treści komunikatu
  • PUT lub POST: Zasób opisujący wynik akcji przesyłany jest w treści wiadomości.
  • TRACE: Treść komunikatu zawiera komunikat żądania otrzymany przez serwer. 

 

Kod 201 Created

Kod http 201 oznacza, że żądanie powiodło się i w rezultacie utworzono nowy zasów. Odpowiedź zwykle wysyłana jest po POST żądaniach lub niektórych PUT żądaniach. 

 

Kod 202 Accepted

Żądanie otrzymano, ale nie zostało jeszcze rozpatrzone. W praktyce oznacza to, że serwer zweryfikował format żądania i umieścił je w wewnętrznej kolejce do przetworzenia. 

Kody odpowiedzi HTTP 2

Wiadomości przekierowania (300 – 399)

Kod 300 Multiple Choices

Żądanie ma więcej niż jedną możliwą odpowiedź, a użytkownik powinien wybrać jedno z nich (zalecane są łącza HTML). Powinien wybrać tę opcję, która najlepiej odpowiada jego żądaniom.

 

Kod 301 Moved Permanently

HTTP 301 oznacza, że adres URL żądanego zasobu został trwale zmieniony. Nowy adres URL zostanie podany w odpowiedzi. 

 

Więcej na temat adresu URL i jego użycia możesz przeczytać w tym artykule

 

Kod 302 Found

HTTP 302 znany też jako error 302 oznacza, że identyfikator URI żądanego zasobu został tymczasowo zmieniony. Dalsze zmiany w identyfikatorze URI mogą zostać wprowadzone w przyszłości. Dlatego ten sam identyfikator URI powinien być używany przez klienta w przyszłych żądaniach. 

 

Odpowiedzi na błędy klienta (400 – 499)

Kod 400 Bad Request

HTTP 400 to znak, że serwer nie może lub nie przetworzy żądania z powodu czegoś, co jest postrzegane jako błąd klienta (np. zniekształcona składnia żądania, nieprawidłowe sformułowanie komunikatu żądania lub zwodnicze kierowanie żądań). 

 

Kod 401 Unauthorized

Chociaż standard HTTP określa „nieautoryzowany”, semantycznie ta odpowiedź oznacza „nieuwierzytelniony”. To sygnał, że klient musi się uwierzytelnić, żeby uzyskać żądaną odpowiedź. 

 

Kod 403 Forbidden

Ten kod HTTP informuje, że klient nie posiada praw dostępu do treści. Ponieważ jest nieautoryzowany, serwer odmawia udostępnienia żądanego zasobu. Różnica między 401, a 403 polega na tym, że tożsamość klienta jest znana serwerowi. 

 

Kod 404 Not Found

To chyba najbardziej znany błąd. Oznacza, że serwer nie może odnaleźć żądanego zasobu. Gdy pojawia się w przeglądarce, jest sygnałem, że adres URL nie został rozpoznany. Natomiast w interfejsie API może oznaczać, że punkt końcowy jest prawidłowy, ale zasób nie istnieje. 

 

Poza tym serwery mogą wysłać kod 404 zamiast 403 Forbidden, aby ukryć istnienie zasobu przed nieautoryzowany klientem. 

 

Kod 405 Method Not Allowed

W tym przypadku metoda żądania jest znana serwerowi, ale nie jest obsługiwana przez zasób docelowy. Na przykład interfejs API może nie zezwalać DELETE na wywołanie usunięcia zasobu. 

kody-odpowiedzi-html

Odpowiedzi na błędy serwera (500 – 599)

Kod 500 Internal Server Error

HTTP 500 to informacja, że serwer napotkał sytuację, z którą nie wie, jak sobie poradzić. 

 

Kod 502 Bad Gateway

To odpowiedź, że serwer pracujący jako brama otrzymał nieprawidłową odpowiedź.

 

Kod 503 Service Unavailable

Kod błędu 503 oznacza, że serwer nie jest gotowy do obsługi żądania. Najczęstsze przyczyny takiej sytuacji to: serwer nie działa w celu konserwacji lub jest przeciążony. Warto w takiej sytuacji przesłać użytkownikowi przyjazny komunikat wyjaśniający problem. Warto też określić szacowany czas przywrócenia usługi. 

 

Podsumowanie

Odpowiedziom HTTP zawsze towarzyszy kod. Jego pierwsza cyfra wskazuje na kategorie i jednocześnie jest informacją, czy dane żądanie się powiodło, czy nie. Dlatego też każdy kod to cenna wskazówka przy rozwiązywaniu problemów między użytkownikiem a serwerem