zoukankan      html  css  js  c++  java
  • 互联网企业静态资源的部署,如何充分利用浏览器缓存机制

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

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

  • 相关阅读:
    zookeeper基础
    4. Zookeeper单机版安装
    3. 服务中间件Dubbo
    2. Maven工程的搭建
    Maven的优点
    应用架构的演进历史 MVC、 RPC、SOA 和 微服务架构
    js 正则表达式验证
    后台正则表达式验证部分部分总结
    Linux下记录登录用户历史操作
    Django使用Ace实现在线编辑器
  • 原文地址:https://www.cnblogs.com/shengulong/p/9503292.html
Copyright © 2011-2022 走看看