2017-08-16 109 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響應,其中包含新內容以及瀏覽器緩存的更新後的最後修改時間戳。