Django:Cache-Control:max-age。怎么指定?什么是缓存?

时间:2012-12-27 10:29:26

标签: django caching http-headers

我正在创建一个网页,理想情况下我希望用户的浏览器永远缓存所有javascript,css和图像(或者最多允许1年)。这些项目是版本化的,或者它们不会更改。但是,我不希望缓存html。

我对Cache-Control感到困惑:max-age。我是否为每种类型的资源(css,js等)设置了这个?或曾经为一切?或者对于特定文件?它会缓存html吗?

我正在使用Django。我甚至可以在哪里指定它:

return render_to_response(my_template, {},context_instance=RequestContext(request))

我注意到我的浏览器(我已尝试过几次)缓存图像和js,即使我没有指定任何内容。但我能一直依赖这个吗?它将被缓存多长时间?

1 个答案:

答案 0 :(得分:0)

您需要在各个静态文件上设置此标头。但是不应该在生产中从Django提供静态文件。使用网络服务器,如Nginx,Lighttpd,或者更好的是CDN。