Kody stanu HTTP są pogrupowane w sposób przedstawiony w tabeli D.1.
Tabela D.1.
Grupy kodów stanu HTTP
Zakres kodów
Znaczenie odpowiedzi
100-199
Informacyjne
200-299
Żądanie klienta pomyślne
300-399
Żądanie klienta przekierowane, konieczne następne działanie
400-499
Żądanie klienta niekompletne
500-599
Błąd serwera
Tabela D.2 wylicza stałe kodów stanu zdefiniowane w interfejsie HttpServletResponse i wykorzystywane jako parametry metod setStatus() i sendError(). Numer wersji w ostatniej kolumnie odnosi się do wersji protokołu HTTP, która pierwsza zdefiniowała dany kod stanu. Servlet API 2.0 dodał stałe dla kodów stanu HTTP w wersji 1.1, jak opisano w proponowanym standardzie RFC 2068. Servlet API 2.2 dodał kody stanu 416 i 417, jak opisano w próbnym standardzie RFC 2616. Proszę zauważyć, że kody stanu HTTP/1.1 wymagają przeglądarki zgodnej z HTTP/1.1.
Większa ilość informacji na temat HTTP jest dostępna w książce „Web Client Programming” autorstwa Clintona Wonga (O'Reilly). Najnowsza specyfikacja HTTP/1.1 jest dostępna w dokumencie RFC 2616 pod adresem http://www.ietf.org/rfc/rfc2616.txt.
Tabela D.2.
Stałe kodów stanu HTTP
Stała
Kod
Domyślna wiadomość
Znaczenie
Wersja HTTP
SC_CONTINUE
100
Continue
Serwer otrzymał początkową część żądania, klient może kontynuować z dalszymi częściami.
1.1
SC_SWITCHING_PROTOCOLS
101
Switching Protocols
Serwer chce wypełnić żądanie klienta zmiany protokołu na określony w nagłówku żądania Upgrade. Działanie to może zawierać przełączenie na nowszą wersję HTTP lub własny synchroniczny kanał wideo.
SC_OK.
201
OK
Żądanie klienta zakończyło się sukcesem i odpowiedź serwera zawiera żądane dane. Jest to domyślny kod stanu.
1.0
SC_CREATED
Created
Na serwerze został utworzony zasób, przypuszczalnie w odpowiedzi na żądanie klienta. Główna część odpowiedzi powinna zawierać URL (-e), pod którym można ten nowy zasób odnaleźć, z najbardziej specyficznym URL-em zawartym w nagłówku Location. Jeżeli zasób nie może zostać utworzony natychmiast, powinien zamienne zostać zwrócony kod stanu SC_ACCEPTED.
SC_ACCEPTED
202
Accepted
Żądanie zostało przyjęte do przetwarzania, ale nie zostało jeszcze ukończone. Serwer powinien opisać aktualny stan żądania w głównej części odpowiedzi. Serwer nie jest zobligowany do działania na ani kończenia wykonywania żądania.
SC_NON_AUTHORITATIVE_INFORMATION
203
Non-Authoritative Information
Nagłówki odpowiedzi HTTP nadeszły z lokalnego lub niezależnego źródła, a nie z oryginalnego serwera. Zwykłe serwlety nie mają powodów, by wykorzystywać ten kod stanu
SC_NO_CONTENT
204
No Content
Żądanie powiodło się, ale nie istnieje główna część nowej odpowiedzi. Przeglądarki przyjmujące ten kod powinny zachować swój aktualny widok dokumentów. Kod ten jest przydatny serwletowi, kiedy otrzymuje on dane z formularza, ale chce, aby przeglądarka zatrzymała się na formularzu, w ten sposób unikając komunikatu o błędzie „Dokument nie zawiera żadnych danych”.
SC_RESET_CONTENT
205
Reset Content
Żądanie powiodło się i przeglądarka powinno wyczyścić (ponownie pobrać) aktualnie przeglądany dokument. Kod ten jest przydatny serwletowi, który pobiera dane z formularza i chce, aby został on wyświetlony w czystej formie.
SC_PARTIAL_CONTENT
206
Partial Content
Serwer ukończył częściowe żądanie GET i zwrócił część dokumentu określoną w nagłówku Range klienta.
SC_MULTIPLE_CHOICES
300
Multiple Choices
Żądany URL odnosi się do więcej niż jednego zasobu. Na przykład, URL może odnosić się do dokumentu przetłumaczonego na wiele języków. Główna część odpowiedzi powinna wyjaśniać klientowi opcje w formie odpowiedniej do typu zawartości żądania. Serwer może zasugerować wybór przy pomocy nagłówka Location.
SC_MOVED_PERMANENTLY
301
Moved Permanently
Żądany zasób został na stałe przeniesiony do nowej lokacji. Przyszłe odwołania powinny wykorzystywać w żądaniach nowy URL. Nowe umiejscowienie jest podane w nagłówku Location. Większość przeglądarek automatycznie przekierowuje do nowej lokacji.
SC_MOVED_TEMPORARILY
302
Moved Temporarily
Żądany zasób został czasowo przeniesiony do innej lokacji, ale przyszłe żądania powinny dalej wykorzystywać oryginalny URI w celu uzyskania dostępu do zasobu. Nowe umiejscowienie jest podane w nagłówku Location. Większość przeglądarek automatycznie przekierowuje do nowej lokacji.
SC_SEE_OTHER
303
See Other
Żądany zasób przetworzył żądanie, ale klient powinien pobrać swoją odpowiedź poprzez wykonanie GET na URL-u określonym w nagłówku Location. Kod ten jest przydatny serwletowi, który chce otrzymywać dane POST, po czym przekierowywać klienta do innego zasobu w celu wygenerowania odpowiedzi.
grzegorj