Ce-têtes de réponse HTTP sont nécessaires
Ce-têtes de réponse HTTP devront être envoyés à partir du serveur vers le client?
Je travail pour optimiser l'-têtes de réponse HTTP pour minimiser la réponse HTTP de frais généraux. Je connais des "frais généraux" est un peu exagéré, mais j'ai comme un nettoyage de sortie.
Je vois beaucoup de sites, qui envoie redondant en-têtes de cache.
par exemple
Il est inutile de spécifier à la fois Expires
et Cache-Control: max-age
, ou à spécifier à la fois Last-Modified
et ETag
.
- Source
- HTTP/1.1: Champ d'en-Tête Définitions
Vous devez vous connecter pour publier un commentaire.
Cela dépend de ce que vous définissez comme étant nécessaire: il n'existe pas de champs d'en-tête doit être envoyée avec chaque réponse, quel que soit les circonstances, mais il y a des champs d'en-tête que vous avez vraiment devrait envoyer. Le seul champ d'en-tête qui est
Date
, mais même s'il a des circonstances dans lesquelles il n'est pas nécessaire.Dans le jargon de RFC 2119, le terme DOIT signifie que quelque chose est une exigence de la spécification et ne remplissant pas la condition serait invalide. Il n'existe pas de champs d'en-tête défini par les Rfc Sept mille deux cent trente, Sept mille deux cent trente et un, Sept mille deux cent trente deux, Sept mille deux cent trente trois, Sept mille deux cent trente quatre, ou Sept mille deux cent trente cinq que DOIT être envoyé par un serveur d'origine dans tous les cas.
Les en-têtes suivants, par exemple, peut être omis (bien que probablement vous devriez les envoyer):
7.1.1.2. Date
Remarque la dernière phrase de la citation. Le
Date
champ d'en-tête DOIT être envoyé si le serveur d'origine est capable de fournir une "approximation raisonnable" de la date de l'UTC, mais il n'en est rien, l'arrêt d'un serveur de usurpé.7.4.2. Serveur
3.3.2. Content-Length
Sur le sujet de
Content-Length
etTransfer-Encoding
, remarque que l'un ne peut être envoyé, dans ce cas la longueur de la réponse est "déterminé par le nombre d'octets reçus avant le serveur de la fermeture de la connexion."3.1.1.5. Content-Type
Il y a des circonstances particulières qui les en-têtes peuvent être nécessaires, par exemple:
Connection: close
dans chaque réponse qui n'a pas un 1xx code d'état.Autoriser
en-tête dans une 405 (Méthode Non Autorisée) de réponse.WWW-Authenticate
champ d'en-tête contenant au moins un défi.Cela dépend des spécificités de la réponse, mais en général, une réponse d'un serveur d'origine doit avoir:
et soit Content-Length, Transfer-Encoding ou Connection: close.
Si vous voulez faire la mise en cache, ajouter le Contrôle du Cache (par exemple, avec max-age); Expiration n'est en général pas nécessaire, pas plus. Si vous voulez que les clients d'être en mesure de valider, d'ajouter de Dernière modification ou ETag.
Content-Type
en-tête sur un201 No Content
réponse.