J'ai juste couru Pagetest et il est indiqué que je dois définir un âge maximum pour mes JS/CSS. Comment dois-je faire ?
Réponses
Trop de publicités?On dirait qu'il s'agit d'en-têtes HTTP. En fait, vous devrez ajouter quelques en-têtes HTTP à envoyer avec vos fichiers Javascript et CSS (et les images aussi, ce serait une bonne idée), ressemblant à quelque chose comme ceci :
Cache-Control: max-age=86400
Expires: Sat, 28 Mar 2009 16:00:00 GMT
La première indique la durée maximale, en secondes, pendant laquelle un navigateur conservera le contenu (le fichier JS ou CSS) avant de le télécharger à nouveau depuis le serveur ; la seconde indique la date et l'heure après lesquelles le navigateur doit retélécharger le contenu. Oui, il s'agit de deux manières de dire la même chose, mais le Cache-Control
est un peu plus récent et je ne suis pas sûr qu'il soit encore universellement supporté ; il n'y a vraiment aucun mal à spécifier les deux. ( Cache-Control
a la priorité sur Expires
s'il y a un conflit).
Quant à la manière de configurer votre serveur pour qu'il envoie ces en-têtes, elle dépend du serveur Web que vous utilisez. Si vous utilisez Apache, regardez à mod_expires .
Chaque requête adressée au serveur (pour les images, le CSS est également inclus) est effectuée séparément. Le déploiement des gestionnaires d'événements dans le fichier global.asax peut vous permettre d'écouter ces requêtes, de sorte que vous pouvez y modifier les en-têtes de réponse et ajouter les paramètres supplémentaires dont vous avez besoin.
Voici les différents événements : http://msdn.microsoft.com/en-us/library/system.web.httpapplication_events(v=vs.71).aspx
HTH.