2017-08-16 3 views
2

Ich versuche, "Browser-Caching" zu nutzen, um die Website-Geschwindigkeit zu erhöhen. Die Webapp auf pythonanywhere gehostet und ich denke, ich brauche die nginx.conf Datei zu konfigurieren, umfassen:Konfigurieren Sie Nginx-Server auf Pythonanywhere

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

(von hier: how to Leverage browser caching in django)

Allerdings kann ich nicht die conf-Datei überall finden. Es ist nicht in/etc/nginx,/usr/lokal/etc/usr/etc ...

Kann dies auf pythonanywo getan werden?

Antwort

3

PythonAnywhere dev hier. Leider können Sie die nginx-Einstellungen auf unserem System nicht ändern - aber die System-Standardeinstellungen sind eigentlich genau das, was Sie wollen. Wenn Sie sich mit den „Static Dateien“ Tabelle auf dem Register „Web“, um anzugeben, wo sie sind, dann gilt:

  • Wenn ein Browser eine statische Datei zum ersten Mal anfordert, wird es zurückgeschickt mit einem Kopf sagen wenn es zuletzt geändert wurde (basierend auf dem Zeitstempel der Datei).
  • Wenn der Browser danach die statische Datei anfordert und eine Kopie im Cache ist, sendet er normalerweise einen Header "if-modified-since" mit dem Wert des zuletzt geänderten Headers, den er beim ersten Mal erhalten hat .
  • Der Server wird den Zeitstempel der Datei überprüfen, und wenn die Datei nicht geändert wurde, wird eine HTTP 304 ("nicht geändert") Antwort ohne Inhalt zurückgesendet, so dass der Browser weiß, dass er nur den zwischengespeicherten verwenden kann. Wenn sich die Datei geändert hat, sendet sie natürlich eine normale 200-Antwort mit dem neuen Inhalt und einen aktualisierten, zuletzt geänderten Zeitstempel zurück, den der Browser zwischenspeichern soll.
Verwandte Themen