Pour autant que je sache, l'en-tête HTTP Vary
spécifie une liste d'en-têtes HTTP séparés par des virgules qui doivent être pris en compte par les caches avec l'URL lorsqu'ils décident si une demande est un succès ou un échec du cache.
Si cet en-tête est omis, cela signifie que seule l'URL sera prise en compte.
Mais que se passe-t-il lorsque l'en-tête est Vary:*
?
Une valeur de champ Vary de *** signale que des paramètres non spécifiés ne sont pas ne se limitant pas aux en-têtes de la demande (par exemple, l'adresse réseau de l'utilisateur). client), jouent un rôle dans la sélection de la représentation de la réponse. La valeur * NE DOIT PAS être générée par un serveur mandataire. générée par un serveur d'origine.
Une valeur de champ d'en-tête Vary de * ne correspond pas toujours et les suivantes les demandes ultérieures sur cette ressource ne peuvent être interprétées correctement que par le serveur d'origine.
Cela signifie-t-il que toutes les requêtes avec cet en-tête vont manquer le cache ?
J'ai découvert qu'ASP.NET renvoie cet en-tête HTTP si vous utilisez leur OutputCacheAttribute
et vous devez désactiver explicitement ce comportement si vous ne voulez pas l'en-tête, ou si vous voulez spécifier des en-têtes personnalisés, donc je (veux) croire que c'est peu probable.
Quelle est la signification pratique de Vary:*
?
Merci.