我正在尝试“利用浏览器缓存”以提高网站速度. webapp托管在pythonanywhere上,我想我需要配置nginx.conf文件以包含:

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上完成吗?


解决方法:

PythonAnywhere dev在这里.遗憾的是,您无法更改我们系统上的nginx设置 – 但系统默认设置实际上是您想要的.如果您使用“Web”选项卡上的“静态文件”表来指定它们的位置,那么:

当浏览器第一次请求静态文件时,它会返回一个标题,说明上次修改时(基于文件时间戳).
当浏览器在此之后请求静态文件并且其缓存中有一个副本时,它通常会发送一个“if-modified-since”标头,其中包含第一次获得的最后修改标头的值.
服务器将检查文件时间戳,如果文件没有更改,它将发回一个没有内容的HTTP 304(“未修改”)响应,因此浏览器知道它只能使用缓存的响应.如果文件已更改,那么它当然会发回一个正常的200响应,其中包含新内容和更新的最后修改时间戳,供浏览器缓存.

标签: nginx, browser-cache, pythonanywhere

相关文章推荐

添加新评论,含*的栏目为必填