web-dev-qa-db-fra.com

Mise en cache de fichiers Javascript et CSS spécifiques

Comment puis-je mettre en cache quelques fichiers JavaScript et CSS spécifiques? J'ai trouvé des conseils sur ce site pour mettre cela dans mon fichier .htaccess

AddOutputFilter DEFLATE css js
ExpiresActive On
ExpiresByType application/x-javascript A2592000

Mais c'est incomplet. Qu'est-ce que .htaccess et comment puis-je le créer, où le stocker, dans mon dossier racine Web?

Quelle est la signification des déclarations suivantes:

AddOutputFilter DEFLATE css js
ExpiresActive On
ExpiresByType application/x-javascript A2592000

Je ne veux pas mettre en cache tous mes fichiers Javascript et CSS, mais juste quelques fichiers spécifiques qui ne changeront jamais.

Comment puis-je faire ceci?

12
Keith Costa

Vous pouvez configurer IIS pour mettre en cache des fichiers spécifiques par extension. Par exemple:

Sélectionnez le dossier contenant vos fichiers css/js, puis cliquez sur Caching de sortie. enter image description here

Ajoutez ensuite les extensions de fichier que vous souhaitez mettre en cache:

enter image description here

Je ne pense pas que vous puissiez spécifier lesquels mettre en cache fichier par fichier, sauf si vous écrivez un fichier http. gestionnaire module pour ajouter les en-têtes appropriés pour chaque fichier indépendamment, mais à partir de IIS, voici comment procéder.

Ensuite, vous pouvez vérifier que vous obtenez 304 réponses en utilisant firebug/fiddler ou l’outil de votre choix.

J'espère que ceci est utile.

26
Icarus

C’est cool, j’ajouterais quand même une version de fichier et créerais IIS cache css + js. Comme Icare spécifié.

Ensuite, si vous mettez à jour les fichiers sur le serveur, ajoutez simplement un nouveau numéro de révision, ce qui pourrait également être un horodatage.

1
cristobal
  1. AddOutputFilter DEFLATE: la sortie est compressée (généralement gzip) avant d'être envoyée au serveur dans ce cas, css & js votre css et js.
  2. ExpiresActive On: Définit Expires et les en-têtes de contrôle du cache sur On
  3. ExpiresByType: définissez la règle d'expiration pour le type de contenu dans ce cas application/x-javascript à un mois A2592000 => 24 * 3600 * 30 dans ms.

Je recommanderais au lieu de gérer des js spécifiques via .htaccess, vous devriez ajouter un numéro de révision à vos fichiers js, ala:

<script src="link/to/file.js?rev=xxx"></script>

Ensuite, lorsque vous mettez à jour vos fichiers, mettez simplement à jour le numéro de rev. Et vos clients recevront automatiquement les nouveaux fichiers.

Ressources:

0
cristobal