Kody odpowiedzi HTTP czyli popularne 404 403 301 302 200
Kod odpowiedzi HTTP to nic innego jak informacja wysłana przez serwer do klienta (z reguły do przeglądarki), informująca o sposobie realizacji zapytania klienta. Schemat modelu komunikacyjnego typu klient-serwer:
- Klasy kodów odpowiedzi serwera HTTP:
- 1xx - kody informacyjne
- 2xx - kody powodzenia
- 3xx - kody przekierowania
- 4xx - kody błędu aplikacji klienta
- 5xx - kody błędu serwera
Kody informacyjne:
Kod | Opis | Znaczenie |
---|---|---|
100 | Continue | prośba o dalsze wysyłanie zapytania |
101 | Switching Protocols | zmiana protokołu |
110 | Connection Timed Out | przekroczony maksymalny czas połączenia |
111 | Connection Refused | połączenie odrzucone przez serwer |
Kody powodzenia:
Kod | Opis | Znaczenie |
---|---|---|
200 | OK | zawartość żądanego dokumentu |
201 | Created | utworzono - wysłany dokument został zapisany na serwerze |
202 | Accepted | przyjęto - zapytanie zostało przyjęte do obsłużenia, lecz jego zrealizowanie jeszcze się nie skończyło |
203 | Non Authoritative Information | informacja nieautorytatywna - zwrócona informacja nie odpowiada dokładnie odpowiedzi pierwotnego serwera, lecz została utworzona z lokalnych bądź zewnętrznych kopii |
204 | No Content | brak zawartości - serwer zrealizował zapytanie klienta i nie potrzebuje zwracać żadnej treści |
205 | Reset Content | przywróć zawartość - serwer zrealizował zapytanie i klient powinien przywrócić pierwotny wygląd dokumentu |
206 | Partial Content | część zawartości - serwer zrealizował tylko część zapytania typu GET, odpowiedź musi zawierać nagłówek Range informujący o zakresie bajtowym zwróconego elementu |
Kody przekierowania:
Kod | Opis | Znaczenie |
---|---|---|
300 | Multiple Choices | wiele możliwości - istnieje więcej niż jeden sposób obsłużenia danego zapytania, serwer może podać adres zasobu, który pozwala na wybór jednoznacznego zapytania spośród możliwych |
301 | Moved Permanently | trwale przeniesiony - żądany zasób zmienił swój URI i w przyszłości zasób powinien być szukany pod wskazanym nowym adresem |
302 | Found | znaleziono - żądany zasób jest chwilowo dostępny pod innym adresem a przyszłe odwołania do zasobu powinny być kierowane pod adres pierwotny |
303 | See Other | zobacz inne - odpowiedź na żądanie znajduje się pod innym URI i tam klient powinien się skierować. To jest właściwy sposób przekierowywania w odpowiedzi na żądanie metodą POST. |
304 | Not Modified | nie zmieniono - zawartość zasobu nie podległa zmianie według warunku przekazanego przez klienta (np. data ostatniej wersji zasobu pobranej przez klienta - cache przeglądarki) |
305 | Use Proxy | Użyj serwera proxy - do żądanego zasobu trzeba odwołać się przez serwer proxy podany w nagłówku Location odpowiedzi |
306 | kod nieużywany, aczkolwiek zastrzeżony dla starszych wersji protokołu | |
307 | Temporary Redirect | tymczasowe przekierowanie - żądany zasób znajduje się chwilowo pod innym adresem URI, odpowiedź powinna zawierać zmieniony adres zasobu, na który klient zobowiązany jest się przenieść |
310 | Too many redirects | zbyt wiele przekierowań |
Kody błędu aplikacji klienta:
Kod | Opis | Znaczenie |
---|---|---|
400 | Bad Request | nieprawidłowe zapytanie – żądanie nie może być obsłużone przez serwer z powodu błędnej składni zapytania |
401 | Unauthorized | nieautoryzowany dostęp – żądanie zasobu, który wymaga uwierzytelnienia |
402 | Payment Required | Wymagana opłata – odpowiedź zarezerwowana na przyszłość (niektóre serwisy już z niego korzystają) |
403 | Forbidden | Zabroniony – serwer zrozumiał zapytanie lecz konfiguracja bezpieczeństwa zabrania mu zwrócić żądany zasób |
404 | Not Found | nie znaleziono – serwer nie odnalazł zasobu według podanego URL ani niczego co by wskazywało na istnienie takiego zasobu w przeszłości |
405 | Method Not Allowed | niedozwolona metoda – metoda zawarta w żądaniu nie jest dozwolona dla wskazanego zasobu, odpowiedź zawiera też listę dozwolonych metod |
406 | Not Acceptable | niedozwolone – zażądany zasób nie jest w stanie zwrócić odpowiedzi mogącej być obsłużonej przez klienta według informacji podanych w zapytaniu |
407 | Proxy Authentication Required | wymagane uwierzytelnienie do serwera pośredniczącego (ang. proxy) – analogicznie do kodu 401, dotyczy dostępu do serwera proxy |
408 | Request Timeout | koniec czasu oczekiwania na żądanie – klient nie przesłał zapytania do serwera w określonym czasie |
409 | Conflict | konflikt – żądanie nie może być zrealizowane, ponieważ występuje konflikt z obecnym statusem zasobu, ten kod odpowiedzi jest zwracany tylko w przypadku podejrzewania przez serwer, że klient może nie znaleźć przyczyny błędu i przesłać prawidłowego zapytania |
410 | Gone | zniknął (usunięto) – zażądany zasób nie jest dłużej dostępny i nie znany jest jego ewentualny nowy adres URI; klient powinien już więcej nie odwoływać się do tego zasobu |
411 | Length required | wymagana długość – serwer odmawia zrealizowania zapytania ze względu na brak nagłówka Content-Length w zapytaniu; klient może powtórzyć zapytanie dodając doń poprawny nagłówek długości |
412 | Precondition Failed | warunek wstępny nie może być spełniony – serwer nie może spełnić przynajmniej jednego z warunków zawartych w zapytaniu |
413 | Request Entity Too Large | encja zapytania zbyt długa – całkowita długość zapytania jest zbyt długa dla serwera |
414 | Request-URI Too Long | adres URI zapytania zbyt długi – długość zażądanego URI jest większa niż maksymalna oczekiwana przez serwer |
415 | Unsupported Media Type | nieznany sposób żądania – serwer odmawia przyjęcia zapytania, ponieważ jego składnia jest niezrozumiała dla serwera |
416 | Requested Range Not Satisfiable | zakres bajtowy podany w zapytaniu nie do obsłużenia – klient podał w zapytaniu zakres, który nie może być zastosowany do wskazanego zasobu |
417 | Expectation Failed | oczekiwana wartość nie do zwrócenia – oczekiwanie podane w nagłówku Expect żądania nie może być spełnione przez serwer lub – jeśli zapytanie realizuje serwer proxy – serwer ma dowód, że oczekiwanie nie będzie spełnione przez następny w łańcuchu serwer realizujący zapytanie |
Kody błędu serwera:
Kod | Opis | Znaczenie |
---|---|---|
500 | Internal Server Error | wewnętrzny błąd serwera – serwer napotkał niespodziewane trudności, które uniemożliwiły zrealizowanie żądania |
501 | Not Implemented | nie zaimplementowano – serwer nie dysponuje funkcjonalnością wymaganą w zapytaniu; ten kod jest zwracany, gdy serwer otrzymał nieznany typ zapytania |
502 | Bad Gateway | błąd bramy – serwer – spełniający rolę bramy lub pośrednika – otrzymał niepoprawną odpowiedź od serwera nadrzędnego i nie jest w stanie zrealizować żądania klienta |
503 | Service Unavailable | usługa niedostępna – serwer nie jest w stanie w danej chwili zrealizować zapytania klienta ze względu na przeciążenie |
504 | Gateway Timeout | przekroczony czas bramy – serwer – spełniający rolę bramy lub pośrednika – nie otrzymał w ustalonym czasie odpowiedzi od wskazanego serwera HTTP, FTP, LDAP itp. lub serwer DNS jest potrzebny do obsłużenia zapytania |
505 | HTTP Version Not Supported | wersja HTTP nie obsługiwana – serwer nie obsługuje bądź odmawia obsługi wskazanej przez klienta wersji HTTP |