簡體   English   中英

Flask靜態文件Cache-Control

[英]Flask static file Cache-Control

我正在嘗試在開發過程中為我的JS文件設置合理的緩存過期。 我有標准的設置,HTML,CSS和JS都在static目錄下。

文檔確實提到了這一點,但對於我的生活,我無法讓它發揮作用。 我先嘗試過隱含的兩種方法

class MyFlask(flask.Flask):
    def get_send_file_max_age(self, name):
        if name.lower().endswith('.js'):
            return 60
        return flask.Flask.get_send_file_max_age(self, name)

app = MyFlask(__name__)

app.config['SEND_FILE_MAX_AGE_DEFAULT'] = 60

兩者都沒有效果,我在/ static下的JS文件仍然會返回默認的緩存超時,

Cache-Control: public, max-age=43200

任何指針贊賞。

我有這個問題,無法在網上找到適合我的答案。

然后我意識到我的靜態文件根本沒有從Flask提供! Flask只生成我的HTML。 靜態文件由我的Web服務器直接提供(在我的情況下,Apache,你的可能是Nginx或其他東西)。

以下是Apache的說明。

首先安裝mod_expires模塊:

sudo a2enmod expires

然后在.htaccess文件中添加這樣的內容:

ExpiresByType text/css "access plus 1 year"
ExpiresByType application/javascript "access plus 1 year"
ExpiresByType image/* "access plus 1 year"

有關如何在Apache手冊中配置它的更多詳細信息。

您可能希望查看webassets以管理緩存過期。 它適用於開發和生產環境。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM