2017-08-16 2 views
2

J'essaye de «tirer parti de la mise en cache du navigateur» afin d'augmenter la vitesse du site. Le webapp est hébergé sur pythonanywhere et je suppose que je dois configurer le fichier nginx.conf pour inclure:Configurer le serveur nginx sur Pythonanywhere

location ~* \.(css|js|gif|jpe?g|png)$ { 
    expires 168h; 
    add_header Pragma public; 
    add_header Cache-Control "public, must-revalidate, proxy-revalidate"; 
} 

(d'ici: how to Leverage browser caching in django)

Cependant je ne peux pas trouver le fichier de configuration partout. Il n'est pas dans/etc/nginx,/usr/local/etc/usr/etc ...

Est-ce que cela peut être fait sur pythonanywhere?

Répondre

3

Le développement de PythonAnywhere ici. Malheureusement, vous ne pouvez pas modifier les paramètres de nginx sur notre système - mais les paramètres par défaut du système sont à peu près ce que vous voulez. Si vous utilisez les « fichiers statiques » table de l'onglet « Web » pour indiquer où ils sont, alors:

  • Lorsqu'un navigateur demande un fichier statique pour la première fois, il est renvoyé avec un en-tête en disant quand il a été modifié pour la dernière fois (en fonction de l'horodatage du fichier). Lorsque le navigateur demande le fichier statique après cela, et qu'il a une copie dans son cache, il envoie normalement un en-tête "if-modified-since" avec la valeur du dernier en-tête modifié obtenu la première fois .
  • Le serveur vérifie l'horodatage du fichier, et si le fichier n'a pas changé, il renvoie une réponse HTTP 304 ("non modifié") sans contenu, de sorte que le navigateur sait qu'il peut simplement utiliser celui en cache. Si le fichier a changé, alors bien sûr il renvoie une réponse 200 normale avec le nouveau contenu et un horodatage mis à jour en dernier lieu pour que le navigateur puisse mettre en cache.