Kody odpowiedzi HTTP
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ż:
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.
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.
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.