73 votes

Comment supprimer les en-têtes eTag de IIS7 ?

Par Les meilleures pratiques de Yahoo pour les sites web à haute performance J'aimerais supprimer les Etags de mes en-têtes (je gère manuellement toute ma mise en cache et je n'ai pas besoin des Etags... et quand/si je dois passer à une ferme, j'aimerais vraiment les supprimer). J'utilise IIS7 sur Windows Server 2008. Quelqu'un sait-il comment je peux faire cela ?

3voto

AndrewPK Points 3142

UPDATE : ajout de l'exigence du module URL Rewrite grâce à l'utilisateur @ChrisBarr

Dans iis 6, c'est facile, vous pouvez ajouter un en-tête personnalisé pour 'ETag' = "".

Dans IIS 7, après avoir lu ce fil de discussion et avoir pensé que c'était impossible sans utiliser un module http personnalisé, j'ai trouvé que vous pouvez simplement installer Module de réécriture d'URL de Microsoft et ajoutez une règle de réécriture sortante comme suit :

<outboundRules>
  <rule name="Remove ETag">
    <match serverVariable="RESPONSE_ETag" pattern=".+" />
    <action type="Rewrite" value="" />
  </rule>
</outboundRules>

Cela fonctionne réellement, et vous n'avez pas besoin d'un module http personnalisé (dll). Le déverrouillage de la section de configuration system.webServer et la définition de customHeaders, etc., ne fonctionne pas - du moins dans tous les cas que j'ai essayés. Une simple règle de réécriture sortante fonctionne.

1voto

Sören Kuklau Points 9445

http://www.jesscoburn.com/archives/2008/10/02/quickly-configure-or-disable-etags-in-iis7-or-iis6/ a un joli guide illustré.

Essentiellement, vous créez un en-tête de réponse personnalisé appelé ETag et vous lui donnez une valeur vide.

1voto

Brian Points 19

Consultez cet article de blog pour savoir comment supprimer complètement l'en-tête http Etag dans iis6, iis7 et iis7.5.

http://lightspeednow.com/blog/2010/05/21/iis-tutorial-how-to-completely-remove-etags-entity-tags-from-iis6-iis7-and-iis7-5/

1voto

Ranjith Points 11

J'ai utilisé le removeetag.dll trouvé sur http://www.caspianit.co.uk/iis7-etag-problem/ et cela a fonctionné parfaitement.

J'espère que cela fonctionnera bien pour vous aussi

1voto

JeffZhnn Points 490

Au fait, lorsque vous utilisez iis8 c'est simple

<element name="clientCache">
   <attribute name="cacheControlMode" type="enum" defaultValue="NoControl">
          <enum name="NoControl" value="0" />
          <enum name="DisableCache" value="1" />
          <enum name="UseMaxAge" value="2" />
          <enum name="UseExpires" value="3" />
  </attribute>
  <attribute name="cacheControlMaxAge" type="timeSpan" defaultValue="1.00:00:00" />
  <attribute name="httpExpires" type="string" />
  <attribute name="cacheControlCustom" type="string" />
  <attribute name="setEtag" type="bool" defaultValue="true" />
</element>

IIS 8.0 : Utiliser ou non l'ETag

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X