公司的云平台上线,网页点击特别卡,打开谷歌的F12,查看network,
发现好几个三四百K大的css文件,加载耗时一两秒,共耗时6s左右。
然后决定将静态资源缓存在浏览器,二次加载时就不用去服务器请求资源。
网上查了好多资料,描述基本一致,说是tornado框架在页面上使用模板语言,
一个 static_url 函数,即引用css资源时写为:<link rel="stylesheet" href="{{static_url('aaa.css')}}">,
这样可以实现css缓存。
可事实却并非如此,实验发现,部分大小较小,比如几B的css文件可以次次都去读缓存,
但是那几个较大的css文件不是每次都去读缓存,大多数时间还是去请求服务器资源的。
![图中显示的资源多次刷新没有读取缓存](https://img-ask.csdn.net/upload/201711/13/1510542676_68751.png)
,而且奇葩的是,像js,img这样的资源不论有多大都会缓存。这个问题一直没有解决就暂时搁置了。
然后去申请云平台的数字证书,买完后,将证书安装,打开首页,地址栏由原来的不安全显示为安全。
然后又随手刷新了几次页面,突然发现,页面加载速度变快了,打开F12发现,所有的css文件都去读缓存了
![图中可见from cache字样,是读取缓存的](https://img-ask.csdn.net/upload/201711/13/1510542694_543678.png)
,难道缓存与否跟认证的整数有关系么?接着把安装好的证书拿掉,换回原来的非认证的证书,果然浏览器又不缓存了。
所以在这里请各位解答我的疑惑,
tornado + bootstrap, 前端浏览器如何实现css静态资源的缓存?
浏览器的缓存是否与CA认证的证书有关?