Latest web development tutorials

têtes de réponse HTTP

HTTP demande en-tête fournit des informations sur la demande, la réponse, ou d'autres entités de transmission.

Dans cette section, nous allons introduire en-têtes spécifiques de réponse HTTP.

tête de réponse explication
permettre

Quels serveurs prennent en charge la méthode de requête (comme GET, POST, etc.).

Content-Encoding

encodage de document de méthode (Encode). Seulement après décodage peut obtenir Content-Type tête spécifie le type de contenu. Utilisez des fichiers gzip comprimé peut considérablement réduire le temps de documents HTML de téléchargement. La GZIPOutputStream Java peut être facilement la compression gzip, mais seulement Netscape et IE sur Windows Unix sur 4, IE 5 seulement soutenir. Ainsi, Servlet devrait être en regardant l'en-tête Accept-Encoding (ie request.getHeader ( "Accept-Encoding")) pour vérifier si le navigateur prend en charge gzip, prise en charge du navigateur compression gzip gzip par le retour de la page HTML, pour revenir à la normale que les autres navigateurs page.

Content-Length

Représenter la longueur du contenu. Si le navigateur à utiliser HTTP persistantes connexions ont besoin de ces données que lorsque. Si vous voulez profiter de connexions persistantes, peuvent être écrites sur le document de sortie ByteArrayOutputStream, complété voir la taille, et ensuite mettre cette valeur dans l'en-tête Content-Length, et enfin l'envoi de contenu via byteArrayStream.writeTo (response.getOutputStream ().

Content-Type

Il indique que la documentation suivante est quel type MIME. Servlet défaut est text / plain, mais le plus souvent besoin d'indiquer de manière explicite que text / html. Parce que souvent mis Content-Type, de sorte que le HttpServletResponse fournit une setContentType approche dédiée.

date

L'heure GMT actuelle. Vous pouvez définir cette tête de setDateHeader pour éviter la peine de commutation format de l'heure.

Expire

Qu'est-ce que doit être envisagée lorsque le document a expiré, de sorte qu'il est plus le cache?

Last-Modified

La dernière fois modifiée du document. Les clients peuvent fournir à travers le If-Modified-Since-tête de demande une date, la demande sera considérée comme une condition GET, ne change plus tard que le temps spécifié, le document sera retourné, sinon renvoie un état 304 (Non modifié). méthode de setDateHeader Last-Modified peut également être utilisé pour mettre en place.

emplacement

Il indique que le client doit récupérer les documents. L'emplacement est généralement pas réglé directement, mais par la méthode sendRedirect HttpServletResponse, qui a également établi un code de 302 d'état.

rafraîchir

Il indique que le navigateur doit actualiser le document après combien de temps, en secondes. En plus de rafraîchir le document en cours à l'extérieur, vous pouvez également setHeader ( "Refresh", "5; URL = http: // hôte / chemin") laisser le navigateur lit la page spécifiée.
Notez que cette fonctionnalité est généralement en définissant la zone page HTML HEAD <META http-equiv = "refresh" content = "5; URL = http: // hôte / chemin"> atteint, il est parce que, pour la mise à jour automatique ou rediriger ceux qui ne peuvent pas utiliser CGI ou servlet écrivains de HTML est très important. Cependant, Servlet est situé directement Actualisez la tête plus commode.

Remarque Actualiser la signification de "N secondes après rafraîchir la page ou aller à la page spécifiée" au lieu de "rafraîchir la page ou accéder à la page spécifiée toutes les N secondes." Ainsi, l'actualisation continue exige que chaque envoyer un en-tête de rafraîchissement, et envoyer 204 code d'état, il peut empêcher le navigateur de continuer à actualiser, utilisez le Refresh la tête ou la <META http-equiv = "Refresh" ...>.

Remarque HTTP Refresh 1.1 en-tête ne fait pas partie de la spécification formelle, mais plutôt une extension, mais Netscape et IE soutiennent.

serveur

Nom du serveur. Servlets ne sont généralement pas réglé à cette valeur, mais est défini par le serveur Web lui-même.

Set-Cookie

Paramètres et page Cookie associés. Servlet ne doit pas être utilisé response.setHeader ( "Set-Cookie", ...), mais vous devez utiliser des méthodes spéciales addCookie HttpServletResponse fournit. Voir la discussion sur les paramètres des cookies ci-dessous.

WWW-Authenticate

Les clients doivent fournir des informations sur quels types d'en-tête d'autorisation d'autorisation? En réponse contient 401 (non autorisée) la ligne d'état dans l'en-tête est nécessaire. Par exemple, response.setHeader ( "WWW-Authenticate", "royaume BASIC = \" cadres \ "").
Remarque Servlet généralement pas être traité à cet égard, mais de donner des mécanismes spéciaux du serveur Web pour contrôler l'accès aux pages protégées par mot de passe (comme .htaccess).