web性能优化:详说浏览器缓存】的更多相关文章

TOC 背景 浏览器的总流程图 一步一步说缓存 朴素的静态服务器 设置缓存超时时间 html5 Application Cache Last-Modified/If-Modified-Since Etag/If-None-Match 什么是Etag 为什么有了Last-Modified还要Etag Etag 的实现 迷之浏览器 总结 背景 在对页面的性能优化时,特别是移动端的优化,缓存是非常重要的一环. 浏览器缓存机制设置众多:html5 appcache,Expires,Cache-contr…
一.前言 开始先扯点别的: 估计很多前端er的同学应该遇到过:在旧项目中添加新的功能模块.或者修改一些静态文件时候,当代码部署到线上之后,需求方验收OK,此时你送了一口气,当你准备开始得意于自己的masterpiece时候,突然需求方跑来和你说,很多用户反应还是没有看到新的效果,或者某个图片还是旧的....what? 估计你第一反应就是,肯定是可恶的缓存搞的鬼.我遇到这样几种情况: 1.在某个旧项目中,我们的静态资源部署主要是在每次更新的时候自动添加版本号的形式,比如在后面加上版本?v=时间戳,…
简介 优化是一个持续的过程.所以尽可能的不要有人为的参与.所以能自动化的或者能从架构.框架级别解决的就最更高级别解决. 这样即能实现面对开发人员是透明的.不响应,又能确保所有资源都是被优化过的. 场景 确保静态资源是有缓存. 确保静态资源的大小最小. 确保加载的资源最少. 确保用户以最短的时间看到页面 减少人为因素的性能瓶颈. 解决方案 缓存 让资源更可能快的让用户看到. 结合代理(nginx)来实现.给http添加缓存的时长. # 需要缓存的静态资源类型 location ~ .*\.(gif…
要彻底了解web性能优化的问题,得搞清楚浏览器的工作原理. 我们需要了解,你在浏览器地址栏中输入url到页面展示的短短几秒中,浏览器究竟做了什么,才能了解到为什么我们口中所说的优化方案能够起到优化作用. 浏览器的多进程架构(以下的例子都是以chrome为例) chrome由多个进程组成,每个进程都有自己的核心职责,每个进程又包含多个线程,一个进程内的多个线程也会协同工作,配合完成进程的职责. 说了这么多,还是来张图更直白: 进程(process)和线程(thread) 当我们启动一个应用,计算机…
在web性能优化-浏览器工作原理中讲到,浏览器渲染是在renderer process中完成的. 那我们来看下renderer process究竟干了什么? Renderer Process包含的线程有: 1.主线程 main thread 2. 工作线程 workder thread 3. 合成器线程 compositor thread 4. 光栅线程 raster thread 渲染进程的流程 构建DOM 当渲染进程接受到导航的确认信息后,开始接受html数据,main thread 会解析…
压缩源代码和图片 JavaScript文件源代码可以采用混淆压缩的方式,CSS文件源代码进行普通压缩,JPG图片可以根据具体质量来压缩为50%到70%,PNG可以使用一些开源压缩软件来压缩,比如24色变成8色.去掉一些PNG格式信息等.   选择合适的图片格式 如果图片颜色数较多就使用JPG格式,如果图片颜色数较少就使用PNG格式,如果能够通过服务器端判断浏览器支持WebP,那么就使用WebP格式和SVG格式. 合并静态资源 包括CSS.JavaScript和小图片,减少HTTP请求. 开启服务…
我们在发布项目之前压缩CSS和JavaScript源代码,这样文件体积就变小了,用户加载必要资源所花的时间也就更短了. 压缩源码和图片 JavaScript文件源代码可以采用混淆压缩的方式,CSS文件源代码进行普通压缩,JPG图片可以根据具体质量来压缩为50%到70%,PNG可以使用一些开源压缩软件来压缩,比如24色变成8色.去掉一些PNG格式信息等. 选择合适的图片格式 如果图片颜色数较多就使用JPG格式,如果图片颜色数较少就使用PNG格式,如果能够通过服务器端判断浏览器支持WebP,那么就使…
Web性能优化已经是老生常谈的话题了, 不过笔者也一直没放在心上,主要的原因还是项目的用户量以及页面中的js,css文件就那几个,感觉没什么优化的.人总要进步的嘛,最近在被angularjs吸引着,也用了angularjs开发了一个项目,那感觉真的是谁用谁知道. angularjs的好处我就不在这里废话了,有兴趣的请自行度娘.背景是这样的, 在这个使用angularjs开发的项目中,由于自己的粗心导致页面打开很慢,傻了吧唧的引用了未压缩的js文件,将近1M的js啊,我还傻乎乎的建索引,优化sql…
最近在看<web全栈工程师的自我修养>一书,作者是来自腾讯的前端工程师.作者在做招聘前端的时候问应聘者web新能优化有什么了解和经验,应聘者思索后回答“在发布项目之前压缩css和 Javascript源代码.这样文件体积就变小了,用户加载必要资源所花费的时间就更短了”.作者追问还有吗,应聘者答不上来了. 作者在书中附上的更多的web性能优化经验.其中我详细补充了很多 压缩源码和图片 JavaScript 文件源代码可以采用混淆压缩()的方式,css文件源代码进行普通压缩,jpg图片可以根据质量…
摘要: 理解Preload与Prefetch. 原文:Web 性能优化:Preload,Prefetch的使用及在 Chrome 中的优先级 作者:前端小智 Fundebug经授权转载,版权归原作者所有. 这是 Web 性能优化的第 6 篇,上一篇在下面看点击查看: Web 性能优化:使用 Webpack 分离数据的正确方法 Web 性能优化:图片优化让网站大小减少 62% Web 性能优化:缓存 React 事件来提高性能 Web 性能优化:21种优化CSS和加快网站速度的方法 Web 性能优…