Latest web development tutorials

HTTP-Response-Header

HTTP-Request-Header enthält Informationen über die Anfrage, Antwort oder einen anderen Übertragungseinheiten.

In diesem Abschnitt werden wir bestimmte HTTP-Response-Header einzuführen.

Antwort-Header Erklärung
erlauben

Welche Server unterstützen die Request-Methode (wie GET, POST, etc.).

Content-Encoding

Dokument-Codierung (Encode) -Methode. Erst nach der Decodierung können Content-Type-Header erhalten gibt die Art des Inhalts. Verwenden Sie Dateien gzip komprimiert können dramatisch die Downloadzeit von HTML-Dokumenten zu reduzieren. Java GZIPOutputStream kann leicht gzip-Komprimierung, aber nur von Netscape und Internet Explorer auf Windows-Unix auf 4, 5 IE unterstützen es nur. Somit sollte Servlets durch an der Accept-Encoding-Header suchen (dh request.getHeader ( "Accept-Encoding")) zu überprüfen, ob der Browser gzip unterstützt, gzip-Browser-Unterstützung der gzip-Komprimierung durch die Rückkehr der HTML-Seite, normal wie andere Browser zurückzukehren Seite.

Content-Length

Stellvertretend für die Inhaltslänge. Wenn der Browser persistenten HTTP zu verwenden, um Verbindungen benötigen diese Daten nur dann, wenn. Wenn Sie die Vorteile von persistenten Verbindungen zu nehmen möchten, können in das Ausgabedokument ByteArrayOutputStream geschrieben werden, vervollständigt die Größe zu sehen, und setzen Sie dann diesen Wert in den Content-Length-Header, und schließlich über byteArrayStream.writeTo (response.getOutputStream Senden von Inhalten ().

Content-Type

Es zeigt an, dass die folgende Dokumentation ist es, was MIME-Typ. Servlets Standard ist text / plain, sondern müssen in der Regel als text / html explizit angegeben. Denn oft Content-Type gesetzt, so dass der HttpServletResponse bietet einen eigenen Ansatz setContentType.

Datum

Die aktuelle GMT-Zeit. Sie können diesen setDateHeader Kopf setzen die Mühe des Schaltzeitformat zu vermeiden.

Verfällt

Was sollten berücksichtigt werden, wenn das Dokument abgelaufen ist, so dass es nicht mehr der Cache?

Last-Modified

Zuletzt geändert Zeit des Dokuments. Kunden, durch die If-Modified-Since-Request-Header ein Datum zur Verfügung stellen kann, wird die Anforderung als Bedingung GET in Betracht gezogen werden, ändert sich erst später als die angegebene Zeit, wird das Dokument zurückgegeben werden, andernfalls gibt einen 304-Status (nicht modifiziert). Last-Modified setDateHeader Verfahren kann auch zur Einrichtung verwendet werden.

Lage

Es zeigt an, dass der Client Dokumente holen gehen. Die Lage ist in der Regel nicht direkt festgelegt, sondern durch die sendRedirect HttpServletResponse Methode, die auch den Statuscode 302 eingestellt.

auffrischen

Es zeigt der Browser sollte das Dokument nach dem, wie viel Zeit zu aktualisieren, in Sekunden. Darüber hinaus außerhalb des aktuellen Dokuments zu aktualisieren, können Sie auch setHeader ( "Refresh", "5; URL = http: // host / path") lassen Sie den Browser die angegebene Seite liest.
Beachten Sie, dass diese Funktion ist in der Regel durch die HTML-Seite HEAD Bereichseinstellung <meta http-equiv = "refresh" content = "5; URL = http: // host / path"> erreicht, es liegt daran, dass für die automatische Aktualisierung oder umleiten diejenigen, die nicht CGI oder Servlets Autoren von HTML ist sehr wichtig, verwenden können. Allerdings ist Servlets gesetzt direkt aktualisieren Kopf bequemer.

Hinweis Aktualisieren Sie die Bedeutung von "N Sekunden nach dem die Seite aktualisieren oder auf die angegebene Seite" statt "aktualisieren Sie die Seite oder Zugriff auf die angegebene Seite alle N Sekunden." Somit erfordert die kontinuierliche Refresh jeweils einen Refresh-Header zu senden, und 204-Statuscode senden, kann es der Browser verhindern weiterhin die Aktualisierung zu aktualisieren, verwenden Sie entweder den Kopf oder den <meta http-equiv = "Refresh" ...>.

Hinweis Aktualisieren HTTP 1.1-Header nicht Teil der formalen Spezifikation ist, sondern eher eine Erweiterung, aber Netscape und Internet Explorer unterstützen.

Server

Servername. Servlets im Allgemeinen tun, um diesen Wert nicht festgelegt, sondern wird von dem Web-Server selbst festgelegt.

Set-Cookie

Einstellungen und Cookie-Seite verbunden. Servlets sollte response.setHeader nicht verwendet werden ( "Set-Cookie", ...), aber Sie sollten spezielle Methoden verwenden addCookie HttpServletResponse zur Verfügung stellt. Siehe die Diskussion über Cookie-Einstellungen unten.

WWW-Authenticate

Kunden sollten Informationen darüber, welche Arten von Berechtigungs Authorization-Header zur Verfügung stellen? In der Antwort enthält 401 (Unauthorized) Statuszeile im Header erforderlich ist. Zum Beispiel response.setHeader ( "WWW-Authenticate", "BASIC realm = \" Führungskräfte \ "").
Hinweis Servlets im Allgemeinen nicht in dieser Hinsicht behandelt werden, aber spezielle Mechanismen des Web-Servers zu geben, Zugang zu passwortgeschützten Seiten zu steuern (zB .htaccess).