互联网企业静态资源的部署,如何充分利用浏览器缓存机制

Posted shengulong

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了互联网企业静态资源的部署,如何充分利用浏览器缓存机制相关的知识,希望对你有一定的参考价值。

 

浏览器获取静态资源方式:缓存、版本

html文件中解析出静态资源的url,查看本地缓存是否存在、是否过期,是否需要重新获取。根据url全路径匹配查找是否存在,根据header的字段expire/cache-control等判断是否过期。

所谓版本信息,不过是静态资源url的一部分信息,通过修改服务器html里静态资源的版本信息,达到修改静态资源url路径的目的,从而实现客户端浏览器重新下载静态资源的目的。

版本示例:http://xx.x.x.x:8083/static/dll/vendor1.js?v=1534689158

 

关于版本信息内容的良好实践:根据静态资源的hash值生成版本号,这样静态资源变化,则版本号变化,从而引起客户端浏览器的重新下载

 

对于react项目使用webpack编译输出文件的过程中,可以生成带hash值的文件。文件变化,则hash值变化。

 

flask的静态资源文件插件:https://pythonhosted.org/Flask-Versioned/

或者使用flask的jinja2模板自带的模板过滤功能,自动给静态文件添加版本号。版本号为文件的修改时间。这样静态资源只要修改,则静态资源的版本号发生变化。其实最好还是使用静态资源的hash值比较好。毕竟文件的修改时间也是可以人为构造的。https://ana-balica.github.io/2014/02/01/autoversioning-static-assets-in-flask/

 

参考:

1、http://www.cnblogs.com/ihardcoder/p/5623411.html

2、https://zhuanlan.zhihu.com/p/24954527?refer=jscss

3、https://blog.csdn.net/u014590757/article/details/80140654

4、https://www.zhihu.com/question/20790576

5、https://blog.csdn.net/vencent7/article/details/77621212

6、https://ana-balica.github.io/2014/02/01/autoversioning-static-assets-in-flask/

 

以上是关于互联网企业静态资源的部署,如何充分利用浏览器缓存机制的主要内容,如果未能解决你的问题,请参考以下文章

openEuler资源利用率提升之道06:虚拟机混部OpenStack调度

互联网+时代 CIO如何实现企业IT价值转型

webpack实现静态资源缓存

web缓存机制

gulp管理静态资源缓存

如何高效部署前端代码,如css,js...