日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > HTML >内容正文

HTML

Web笔记-通过版本号控制客户端浏览器中的缓存

發布時間:2025/3/15 HTML 16 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Web笔记-通过版本号控制客户端浏览器中的缓存 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

這里舉個例子:

通過Python管理靜態資源。但有時候,js或者css更新了,瀏覽器不知道,還使用緩存的情況。

如下所示:

通過在url中帶個?這種方式,使得瀏覽器去獲取新的資源

看下根請求下相關鏈接:

后面這一串是根據時間產生的隨機數。

?

如果是開發環境,我們通過這種方式,使得客戶端瀏覽器都獲取到新的資源。

生產環境,通過文件進行指定版本:

相關的python代碼如下:

在配置文件夾中新增:

在靜態資源管理文件中,local_setting.py中配置了這個文件,就讀一行,也就是版本號,如果沒有,就使用隨機數據去做,相關代碼如下:

UrlManager.py

from application import app from common.libs.DataHelper import getCurrentTime import osclass UrlManager(object):@staticmethoddef buildUrl(path):config_domain = app.config['DOMAIN']return "%s%s" % (config_domain['www'], path)@staticmethoddef buildStaticUrl(path):path = "/static" + path + "?ver=" + UrlManager.getReleaseVersion();return UrlManager.buildUrl(path)#版本管理#開發模式 使用時間作為版本號#生產模式 使用版本文件進行管理@staticmethoddef getReleaseVersion():ver = "%s" % (getCurrentTime("%Y%m%d%H%M%S%f"))release_path = app.config.get("RELEASE_PATH");if release_path and os.path.exists(release_path):with open(release_path, "r") as f:ver = f.readline()return verreturn ver

其中getCurrentTimer如下:

DataHelper.py

import datetimedef getCurrentTime(frm = "%Y-%m-%d %H:%M:%S"):dt = datetime.datetime.now()return dt.strftime(frm)

app.config.get(XXX)中這個app是在核心文件(核心變量定義文件中定義的)

如下:

總結

以上是生活随笔為你收集整理的Web笔记-通过版本号控制客户端浏览器中的缓存的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。