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笔记-通过版本号控制客户端浏览器中的缓存相关推荐
- python 网页调试_使用Django 2.0构建Python Restful Web服务:七)在浏览器中浏览和调试restful接口...
一.前言 在之前的文章中,我们创建好的web接口都通过Postman这个软件调用各种HTTP请求方法来进行调试和查看,这样返回的结果很容易被编程语言和应用程序所接收和识别,但是却并不便于我们直观的查看 ...
- 微信浏览器中清楚缓存
1.最近在开发微信公众号中,写好的H5页面在微信中遇到了缓存,给开发和测试造成了不少麻烦.分别总结了ios和Android清除缓存的方法. 2.Android中 在微信任意窗口中国打开http://d ...
- 基于WEB的Office文档打印——浏览器中静默打印Word文档
web应用开发中,如何集成Office文档打印功能,并不是一个容易实线的问题.现在有了打天下web打印插件,仅以几行JS代码就可以让你将Office打印功能集成到你的Web项目中. 引入PrintWo ...
- php怎么启用浏览器缓存,如何停用浏览器中的缓存? - php
例如,如果退出Yahoo邮件,然后单击"后退"按钮,它将不会加载最后一页,而是会将您重定向到登录页面. 我必须使用PHP代码来执行此操作,而我正在使用CodeIgniter. 一些 ...
- Java Web笔记总结
Tomcat Tomcat的下载及配置 tomcat官网地址 解压就可以使用了 启动tomcat 访问tomcat服务器 localhost:8080 Htpp 什么是http HTTP协议(Hype ...
- 在浏览器中输入网址后的流程
1.浏览器发起DNS查询请求 在广域网中是基于IP地址进行通信的.但通常客户访问的是一个网址,为此需要先得到网址对应的IP地址,这就需要域名服务系统将域名转换成IP地址.在客户端浏览器中输入网址时,浏 ...
- 浏览器中显示PPT的展示效果
发现了一个PPT的WEb展示的方法,在浏览器中载入PDF文件之后,可以实现基于WEB的页面展示,支持全屏与自动播放. https://sharedoc.onk.ninja/ 这不失为一种可行的方式,且 ...
- 文档预览:在浏览器中预览查看 Office 文档
您的网站或博客上是否有希望读者查看的 Office 文档,即使他们没有安装 Office?您愿意在下载之前查看文档吗?要为您的观众提供更好的体验,请尝试使用 Office Web 查看器. 什么是 O ...
- 透过浏览器看HTTP缓存(转)
作为前端开发人员,对于我们的站点或应用的缓存机制我们能做的似乎不多,但这些却是与我们关注的性能息息相关的部分,站点没有做任何缓存机制,我们的页面可能会因为资源的下载和渲染变得很慢,但大家都知道去找前端 ...
最新文章
- 【Qt】通过QtCreator源码学习Qt(三):linux平台的信号、程序崩溃处理
- ubuntu下使用Eclipse下搭建c开发环境
- Python解决数独
- ELK+Kafka 企业日志收集平台(二)这是原版
- 博客园升级有感一点建议
- Java生鲜电商平台-团购模块设计与架构
- gm21模型python_python使用GM11
- C# 应用Excel条件格式(一)
- ajax:dataType
- tensorflow如何微调时如何只训练后两层_XLNet只存在于论文?都替你封装好了还不来用!...
- Javascript 编程风格
- Mac安装jdk17和jdk18
- 递归算法php,php递归算法经典实例
- 来吧,我和你聊聊操作系统
- numpy与scipy安装
- 没听过33大原则,赶紧偷偷学习一下:JS开发者不得不知的33大原则!
- 测试用例设计方法——正交实验法
- 微信公众号菜单模板设置
- 使用OpenOffic在线转换文档错误
- 建立一个低成本的工业控制器和树莓Pi 3