Informations d'en-tête de réponse HTTP
Les en-têtes de requête HTTP fournissent des informations sur la requête, la réponse ou toute autre entité émettrice.
Dans ce chapitre, nous présenterons en détail les informations d'en-tête de réponse HTTP.
En-tête de réponse | Description |
---|---|
Autoriser | Quelles méthodes de requête (telles que GET, POST) sont pris en charge par l'attente du serveur). |
Content-Encoding | La méthode d'encodage (Encode) du document. Ce n'est qu'après le décodage que le type de contenu spécifié par l'en-tête Content-Type peut être obtenu. L'utilisation de gzip pour compresser des documents peut réduire considérablement le temps de téléchargement des documents HTML. GZIPoutputStream de Java peut facilement effectuer une compression gzip, mais seul Netscape sous Unix et IE 4 et IE 5 sous Windows le prennent en charge. Par conséquent, le servlet doit vérifier si le navigateur prend en charge gzip en examinant l'en-tête Accept-Encoding (c'est-à-dire request.getHeader("Accept-Encoding")), renvoyer une page HTML compressée avec gzip pour les navigateurs prenant en charge gzip et renvoyer un message normal. Page HTML pour les autres navigateurs. |
Content-Length | indique la longueur du contenu. Ces données ne sont requises que si le navigateur utilise des connexions HTTP persistantes. Si vous souhaitez profiter des connexions persistantes, vous pouvez écrire le document de sortie dans ByteArrayOutputStream, vérifier sa taille une fois terminé, puis placer la valeur dans l'en-tête Content-Length et enfin envoyer le contenu via byteArrayStream.writeTo(response.getOutputStream( ). |
Content-Type | indique à quel type MIME appartient le document suivant. Le servlet est par défaut text/plain, mais il doit généralement être explicitement spécifié comme. text/html. Pour définir le Content-Type, HttpServletResponse fournit une méthode dédiée setContentType |
Date | Vous pouvez utiliser setDateHeader pour définir cet en-tête. évitez les tracas liés à la conversion du format de l'heure. 🎜> | Last-Modified
Location | indique que le client doit arriver. L'endroit où récupérer le document n'est généralement pas défini directement, mais via la méthode sendRedirect de HttpServletResponse, qui définit également le code d'état sur 302 <. 🎜> |
Actualiser | Après combien de temps le navigateur doit actualiser le document, en secondes, en plus d'actualiser le document actuel, vous pouvez également laisser le navigateur lire le fichier spécifié. via la page setHeader("Refresh", "5; URL=http://host/path") | Notez que cette fonction est généralement implémentée en définissant dans la zone HEAD de la page HTML. En effet, l'actualisation ou la redirection automatique est importante pour les rédacteurs HTML qui ne peuvent pas utiliser CGI ou Servlets. Cependant, pour les Servlets, c'est plus pratique pour définir directement l’en-tête Actualiser.Notez que la signification de Actualiser est « actualiser cette page ou accéder à la page spécifiée après N secondes », et non « actualiser cette page ou accéder à la page spécifiée toutes les N secondes ». Par conséquent, l'actualisation continue nécessite l'envoi d'un en-tête Refresh à chaque fois, et l'envoi d'un code d'état 204 peut empêcher le navigateur de continuer l'actualisation, que ce soit en utilisant l'en-tête Refresh ou .
Serveur | Nom du serveur. Les servlets ne définissent généralement pas cette valeur, mais sont définies par le serveur Web lui-même. |
Set-Cookie | Définissez le cookie associé à la page. Les servlets ne doivent pas utiliser Response.setHeader("Set-Cookie", ...), mais doivent utiliser la méthode dédiée addCookie fournie par HttpServletResponse. Voir la discussion sur les paramètres des cookies ci-dessous. |
WWW-Authenticate | Quel type d'informations d'autorisation le client doit-il fournir dans l'en-tête Autorisation ? Cet en-tête est obligatoire dans les réponses contenant une ligne d'état 401 (Non autorisé). Par exemple, réponse.setHeader("WWW-Authenticate", "BASIC realm=\"executives\""). Notez que les servlets ne gèrent généralement pas cet aspect, mais laissent le mécanisme spécialisé du serveur Web contrôler l'accès aux pages protégées par mot de passe (telles que .htaccess). |