码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2018-08-20 00:33:28      阅读:164      评论:0      收藏:0      [点我收藏+]

标签:hosted   部署   最好   浏览器   如何   article   修改   源文件   路径   

 

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

从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/

 

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

标签:hosted   部署   最好   浏览器   如何   article   修改   源文件   路径   

原文地址:https://www.cnblogs.com/shengulong/p/9503292.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!