我正在使用谷歌的Firebug页面速度插件来分析我的网络应用程序的性能,其中之一就是我应该“利用缓存” - “以下可缓存资源的生命周期很短。指定到期日期以下资源将来至少一周“。当我深入挖掘时,我发现对Django WSGI服务器的所有静态文件请求都缺少Expires
和Cache-Control
标头。谁应该添加这些标题 - Django应该这样做吗?如果是这样,怎么样?
感谢。
答案 0 :(得分:7)
您的网页可能包含的任何静态文件都应由您的网络服务器提供,例如: Apache的。除非你必须阻止某些文件访问某些人,否则Django永远不应该参与其中。
此处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>