2017-08-16 154 views
2

我试图“利用浏览器缓存”来增加站点速度。 web应用程序托管在pythonanywhere,我想我需要配置nginx.conf文件,包括:在Pythonanywhere上配置nginx服务器

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

(从这里开始:how to Leverage browser caching in django

不过,我找不到任何地方conf文件。它不在/ etc/nginx中,/ usr/local/etc/usr/etc ...

这可以在pythonanywhere上完成吗?

回答

3

PythonAnywhere dev here。不幸的是,你不能在我们的系统上更改nginx设置 - 但系统默认设置实际上几乎是你想要的。如果您使用的是“静态文件”表中的“Web”选项卡上指定他们在哪里,然后:

  • 当浏览器请求首次静态文件,它发回了头说:当它最后修改时(基于文件时间戳)。
  • 当浏览器之后请求静态文件,并且在其缓存中有一个副本时,它通常会发送一个“if-modified-since”标头,并带有第一次获取的最后修改标头的值。
  • 服务器会检查文件的时间戳,如果文件没有改变,它将发回一个没有内容的HTTP 304(“未修改”)响应,所以浏览器知道它只能使用缓存的响应。如果文件发生了变化,那么它当然会发送一个正常的200响应,其中包含新内容以及浏览器缓存的更新后的最后修改时间戳。