45 votes

Comment définir la date d'expiration ou un âge maximum dans les en-têtes HTTP pour les ressources statiques dans IIS

J'utilise IIS 6 et IIS 7 en tant que serveur Web.

Après avoir exécuté Google Page Speed en ligne , il remarque que je devrais être: Setting an expiry date or a maximum age in the HTTP headers for static resources instructs the browser to load previously downloaded resources from local disk rather than over the network.

Et il répertorie de nombreuses images simples, mes fichiers javascript et les feuilles de style .

Comment définir cette date d'expiration pour ces fichiers statiques ? Je pensais que cela était fait automatiquement par le navigateur?

29voto

Ramie Points 1319

Levier de mise en cache du navigateur:

Définition d'une date d'expiration ou un maximum l'âge dans les en-têtes HTTP pour statique ressources demande au navigateur d' la charge précédemment téléchargé ressources à partir du disque local plutôt que sur le réseau.

http://code.google.com/speed/page-speed/docs/caching.html#LeverageBrowserCaching

Pour définir une date d'expiration ou d'un âge maximum dans les en-têtes HTTP pour les ressources statiques

Ouvrez le gestionnaire des services internet-> Cliquez sur votre site-> Cliquez sur l'en-tête HTTP de la page d'accueil-> Cliquez sur le Commun des en-Têtes sur le panneau Actions -> Vérifier l'Expiration de Contenu Web -> Set Après 7 jours (comme suggéré par la vitesse de la page sur "l'analyse de Spécifier une date d'expiration au moins une semaine à l'avenir pour les ressources suivantes"

http://technet.microsoft.com/en-us/library/cc770661%28WS.10%29.aspx

3voto

Tim H Points 138

Parfois, l'outil Google se plaint que si vous ne définissez pas l'en-tête Cache-Control max et l'en-tête Expires, IIS ne fait que définir le max-age, ce qui devrait bien se passer. Vous pouvez confirmer en utilisant chrome ou firebug, en consultant le panneau Net Debug et en inspectant les en-têtes de réponse.

2voto

réglage de la date d'expiration pour les fichiers statiques doit être fait dans le Web.fichier de configuration de IIS. Je n'ai pas beaucoup de connaissances dans l'ISS, mais trouvé ceci sur le web

http://www.iis.net/learn/application-frameworks/install-and-configure-php-applications-on-iis/translate-htaccess-content-to-iis-webconfig

<caching>
   <profiles>
     <add extension=".php" policy="DisableCache" kernelCachePolicy="DisableCache" />
     <add extension=".html" policy="CacheForTimePeriod" kernelCachePolicy="CacheForTimePeriod" duration="14:00:00:00" />
   </profiles>
</caching>

Le code ci-dessus va activer la mise en cache pour .html pour une durée maximale de 14 jours. Pour .php les fichiers, assurez-vous que la mise en cache est effectuée.

De plus, référez-vous http://www.iis.net/configreference/system.webserver/staticcontent/clientcache

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