2010-10-21 123 views
4

我使用Google的Firebug的Page Speed插件分析了我的web應用程序的性能,它說的其中一件事是我應該「利用緩存」 - 「以下可緩存資源的新鮮度壽命。爲以下資源指定至少一週的到期日期「。當我深入挖掘時,我發現所有對Django WSGI服務器的靜態文件請求缺少ExpiresCache-Control標題。誰應該添加這些頭文件 - Django應該這樣做?如果是這樣,怎麼樣?在Django中緩存靜態文件

謝謝。

+0

靜態文件應由要麼阿帕奇/ lighthttpd/...你使用什麼都Web服務器提供服務... – shahjapan 2010-10-21 06:53:52

回答

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>