回归,写一篇前端性能优化的读后总结

来源:互联网 发布:c语言实现成绩查询系统 编辑:程序博客网 时间:2024/06/05 14:54
第一步 使用缓存(cache-control/expires)---------Q:如果引用的资源文件被更新了,需加载新资源,如何处理? 

第二步 更新资源路径(增加版本号 ?v=1.0.1)-----Q:全部增加版本号,如果只是部分资源做了更改,浪费带宽?

第三步 路径与内容关联(数据摘要算法 ?=与内容相关)

——————————————————————————————————————————————————————
Q:当一部分静态资源(如css),部署到了CDN上,而动态网页部署在服务器上,当静态资源和动态网页都有改动时,这次升级,是先更新CDN的内容,还是先更新服务器的内容?

A1:先部署页面,再部署资源。在部署间隔内,新资源未部署,请求旧内容,产生缓存,导致页面结构错乱

A2:先部署资源,再部署页面。在部署间隔内,有本地缓存的页面可以使用本地缓存,页面正常;没有本地缓存的页面错误。

A:将数据摘要和资源名关联(a_dkdkjgu.css),不造成覆盖,部署时先全部部署静态资源,再灰度部署动态页面,实现平滑升级。

目标:
  • 配置超长时间的本地缓存 —— 节省带宽,提高性能
  • 采用内容摘要作为缓存更新依据 —— 精确的缓存控制
  • 静态资源CDN部署 —— 优化网络请求
  • 更资源发布路径实现非覆盖式发布 —— 平滑升级
在资源关联时,要做到级联关联。例如:png图片路径更新,引起css文件更新,引起页面引用的更新,全局防止缓存。

读 知乎 问题来自http://www.zhihu.com/question/20790576中排名第一的张云龙的回答 总结
0 0