Latest web development tutorials

Nagłówki odpowiedzi HTTP

Żądanie HTTP nagłówek zawiera informacje o wniosek, odpowiedź, lub innych podmiotów przesyłowych.

W tej części będziemy wprowadzać konkretne nagłówki odpowiedzi HTTP.

nagłówek odpowiedzi wyjaśnienie
dopuszczać

Które serwery obsługują metody żądania (na przykład GET, POST, itp).

Content-Encoding

Sposób kodowania dokumentu (Kodowanie). Dopiero po dekodowaniu można uzyskać nagłówek Content-Type określa typ zawartości. Użyj gzip skompresowane pliki można znacznie zmniejszyć czas pobierania dokumentów HTML. GZIPOutputStream Javy może być łatwo skompresowane, ale tylko Netscape i IE na Windows Unix 4, IE 5 obsługuje tylko to. Zatem Servlet powinno być patrząc na nagłówku Accept-Encoding (tj request.getHeader ( "Accept-Encoding")), aby sprawdzić, czy przeglądarka obsługuje gzip, wsparcie przeglądarka kompresję gzip gzip przez powrót strony HTML, aby powrócić do normalnego innych przeglądarek strona.

Content-Length

Reprezentowanie długość zawartości. Jeśli przeglądarka używać trwałe połączenia HTTP trzeba te dane tylko wtedy, gdy. Jeśli chcesz skorzystać z połączenia stałe, mogą być zapisywane w dokumencie wyjściowym ByteArrayOutputStream, zakończone wyświetlić rozmiar, a następnie umieścić tę wartość w nagłówku Content-Length, wreszcie przesyłanie treści poprzez byteArrayStream.writeTo (response.getOutputStream ().

Content-Type

To oznacza, że ​​niniejsza dokumentacja jest jakiego typu MIME. Domyślnym aplet jest text / plain, ale zwykle trzeba wyraźnie określone jako text / html. Ponieważ często ustawić Content-Type, więc HttpServletResponse zapewnia dedykowany podejście setContentType.

data

Aktualny czas GMT. Można ustawić głowicę setDateHeader aby uniknąć kłopotów przełączania formatu czasu.

wygasa

Co należy wziąć pod uwagę, gdy dokument wygasł, tak że nie jest już w pamięci podręcznej?

Last-Modified

Czas ostatniej modyfikacji dokumentu. Klienci mogą dostarczyć przez If-Modified-Since nagłówka żądania w terminie, wniosek zostanie uznany za stan GET tylko zmiany później niż w podanym czasie, zostanie zwrócony dokument, w przeciwnym wypadku zwraca statusu do 304 (Not Modified). Metoda Last-Modified setDateHeader może być również używany do skonfigurowania.

lokalizacja

To oznacza, że ​​klient powinien udać się do pobierania dokumentów. Lokalizacja nie jest zwykle ustawiony bezpośrednio, ale za pośrednictwem metody sendRedirect HttpServletResponse, który również ustawić kod stanu 302.

Odśwież

To oznacza, że ​​przeglądarka powinna odświeżyć dokument po jakim czasie, w ciągu kilku sekund. Ponadto, aby odświeżyć bieżący dokument na zewnątrz, można również setHeader ( "Refresh", "5; URL = http: // host / ścieżki") Niech przeglądarka odczytuje określoną stronę.
Należy pamiętać, że funkcja ta jest zazwyczaj poprzez ustawienie obszaru strona HTML HEAD <meta http-equiv = "Refresh" content = "5; URL = http: // host / ścieżka"> osiągnięty, to dlatego, że na automatyczne odświeżanie lub przekierowanie tych, którzy nie mogą korzystać z CGI lub serwletu pisarzy HTML jest bardzo ważne. Jednak Servlet jest bezpośrednio Odśwież głowy wygodniejsze.

Uwaga Odśwież znaczenie "N sekund po odświeżeniu strony lub przejść do określonej strony" zamiast "odśwież stronę lub dostępu do określonej strony co n sekund." Zatem ciągłe odświeżanie wymaga od każdego, aby wysłać nagłówek Refresh i wysyłać kod stanu 204, może on zapobiec przeglądarka nadal odświeżyć, użyj Odśwież albo głowę lub <meta http-equiv = "Refresh" ...>.

Uwaga Odśwież HTTP 1.1 nagłówek nie jest częścią oficjalnej specyfikacji, ale raczej rozszerzenie, ale Netscape i IE wspierać.

serwer

Nazwa serwera. Servlet ogólnie nie ustawić tę wartość, ale jest ustalana przez samego serwera WWW.

Set-Cookie

Ustawienia i strona Cookie związane. Aplet nie powinien być stosowany response.setHeader ( "Set-Cookie", ...), ale trzeba zastosować specjalne metody addCookie HttpServletResponse zapewnia. Zobacz dyskusję na temat ustawień Cookie poniżej.

WWW-Authenticate

Klienci powinni dostarczyć informacji na temat, jakiego rodzaju nagłówka Authorization zezwolenie? W odpowiedzi zawiera wymagane jest 401 (Nieautoryzowane) Linia statusu w nagłówku. Na przykład, response.setHeader ( "WWW-Authenticate", "Basic realm = \" kierownictwo \ "").
Uwaga Servlet generalnie nie należy traktować w tym zakresie, ale dać specjalne mechanizmy serwera sieci Web, aby kontrolować dostęp do stron chronionych hasłem (takie jak .htaccess).