Tout droit de la bouche des chevaux:
Un HTTP/1.1 serveur DOIT inclure un en-tête Vary terrain avec tout à mettre en cache la réponse qui est soumis à pilotée par le serveur de négociation. Cela permet à un cache pour interpréter correctement les demandes futures sur les ressources et les informe l'utilisateur de l'agent au sujet de la présence de la négociation
sur cette ressource.
[...]
Une Varier la valeur du champ, consistant en une liste de domaine-noms de signaux que la représentation choisie pour la réponse est basée sur un algorithme de sélection qui considère que la demande de l'en-tête des valeurs de champ dans le choix de la plus appropriée de représentation. Un cache PEUT supposer que la même sélection sera faite pour les demandes à venir avec les mêmes valeurs pour la liste des noms de champ, pour la durée de la période pour laquelle la réponse est frais.
En d'autres termes, Vary: Accept-Encoding
indique au navigateur que les deux peuvent être mises en cache les réponses d'une même ressource sera la même, même si l' Accept-Encoding
- tête de la requête est différent ("variable").
Exemple (non pertinents bits omis):
GET /js/somefile.js HTTP/1.1
Accept-Encoding: gzip
HTTP/1.1 200 OK
Vary: Accept-Encoding
Content-Encoding: gzip
// body of the response here
Cela signifie que vous obtiendrez le même script, peu importe si vous demandez à la compression ou pas.