2010-10-21 3 views
4

Je profilais les performances de mon application Web en utilisant le plug-in Page Speed ​​de Google pour Firebug et l'une des choses qu'il dit est que je devrais «tirer parti de la mise en cache» - Les ressources suivantes ont une durée de vie courte Spécifiez une expiration d'au moins une semaine dans le futur pour les ressources suivantes ". Quand j'ai creusé plus profond, j'ai trouvé que toute demande de fichiers statiques sur le serveur Django WSGI manquait Expires et les en-têtes Cache-Control. Qui devrait ajouter ces en-têtes - Django devrait-il le faire? Si c'est le cas, comment?Mise en cache des fichiers statiques dans Django

Merci.

+0

fichiers statiques doivent être servis soit par apache/lighthttpd/... ce que jamais le serveur Web que vous utilisez ... – shahjapan

Répondre

7

Tous les fichiers statiques que vous pouvez avoir pour votre page doivent être servis par votre serveur Web, par ex. Apache. Django ne devrait jamais être impliqué sauf si vous devez empêcher l'accès de certains fichiers à certaines personnes.

Ici, I found an example of how to do it:

# our production setup includes a caching load balancer in front. 
# we tell the load balancer to cache for 5 minutes. 
# we can use the commented out lines to tell it to not cache, 
# which is useful if we're updating. 
<FilesMatch "\.(html|js|png|jpg|css)$"> 
ExpiresDefault "access plus 5 minutes" 
ExpiresActive On 
#Header unset cache-control: 
#Header append cache-control: "no-cache, must-revalidate" 
</FilesMatch> 
Questions connexes