High Performance Web Site读后感
看到五月的程序员杂志上江永源童鞋有对yahoo优化原则的总结:
合并小数据文件到一个请求
拆分大数据文件到多个请求
优化文件内容、压缩、减少不必要的数据传输
缓存可以缓存的数据、文件
以前看过这本书的中文版,也看过别人写的简单版本以及yahoo军规34条,对其中的内容比较熟悉,
这次再看其英文版本,有感如下:
用户访问一个页面,就是将用户所需要的东西从服务器端传输到客户端的过程,那么如何减少这个传输时间呢?
第一:【减少传输的内容】
在不影响效果的情况下减少传输的内容
规则四:Gzip Components Gzip压缩
通过压缩,缩小文件体积,从而达到减少传输内容的目的
规则八:Make JavaScript and CSS External 将JS和CSS外链
将js和css外链,或者说是放在其它域名下,可以提高并发数,利用规则
规则十:Minify JavaScript and CSS 减小JS和CSS的体积
写JS和CSS都是有技巧的,用最少的代码实现同样的功能,减少空白,增强逻辑性,用缩写方式等等
规则十二:Remove Duplicate Scripts 删除重复脚本
规则十三:Configure ETags 设定ETags
规则十四: Make Ajax Cacheable 让Ajax可以缓存
第二:【提高传输速度,减少传输距离,减少其它计算或查找时间】
规则二:Use a Content Delivery Network 利用CDN技术
规则九:Reduce DNS Lookups 减少DNS查找
规则十一:Avoid Redirects 避免重定向
第三:【减少传输的次数】
一般来说,一个页面肯定有多个内容需要从服务器传输到客户端,此时我们需要减少传输的次数
规则一:减少HTTP请求,
就严重强调了其重要性,几种常见的方法:1,合并文件,2、CSS Sprites,3、图象地图,4、内联图像
规则三:Add an Expires 设置头文件过期,
缓存只是在用户非首次访问页面时有用,这也同样减少了传输的内容
第四:【用户体验】(渲染应该会更加贴切一些)
规则五:Put Stylesheets at the Top 把CSS放顶部
让浏览者能尽早的看到网站的完整样式,并且可以利用浏览器的加载效果
规则六:把JS放底部
网站呈现完毕后再进行功能设置,当然这些JS要在你的加载过程中不影响内容表现
规则七:Avoid CSS Expressions 避免CSS Expressions
以上只是以我自己的理解将十四条规则做了一个简单的分类,仅个人看法
另外,觉得书中所说的前端优化是在已有条件的基础上做的一些细节部分的调整,从而提高整体的前端性能
不过对于优化来说,后端的优化还是灰常重要的
over