`

《高性能网站建设指南》读书总结

 
阅读更多

昨天完整的读了一遍《高性能网站建设指南》,收获颇丰。正如作者序言里说的,拿到这本书的你是幸运的,但是更重要的是,你的网站的用户很幸运,:)

 

书的作者是YUI(Yahoo! User Interface)的一名核心开发人员,而书的内容是将他们在网站前端优化的14条原则逐一分享。

书很薄,适合我这种懒人,可以一天就读完,:) 不过书的内容简洁明了,很有操作性,道理也讲得明白,喜欢这种书的风格。

下面把这14条原则简单说一下,以做备忘。

 

规则1,减少HTTP请求

这是最重要的原则,如果14条规则里只能选一条,那就是它了。可以通过多种方法减少HTTP请求,例如合并图片,合并JSCSS等等。这一点薄荷网有很多改进的余地,首先应该把现在的JS合并了。

 

规则2,使用内容发布网络

内容发布网络就是CDN了,但是CDN似乎挺贵的,目前还不适合薄荷网,不过可以考虑自己弄一个网通的静态资源服务器解决有中国特色的可恶的南北互通问题。

 

规则3,添加Expires

这个没什么好说的,是个建网站的人都应该知道。目前薄荷网图片,css,js,flash过期时间设置了3年,可以说是永久了,:) Expires有个麻烦的地方是内容更新问题,Ruby on Rails这方面处理的非常棒,它是在文件名后面自动带了资源文件的timestamp,完美解决。

 

规则4,压缩组件

这个也没什么好说的,配置一下web server的压缩功能,减少服务器带宽,加快响应,立杆见影。

 

规则5,将样式表放在顶部

这条有点新鲜,虽然平常都是这么做的,但是没有想过不这样做有什么麻烦。如果不这样,浏览器是不能做到边下载边显示,用户体验很糟糕。薄荷网现在有部分样式没放在顶部,回头检查测试一下看看。

 

规则6,将脚本放在底部

这条是第一次听说,有些震惊。原因在于浏览器下载执行脚本的时候,会阻塞其他资源的下载,这样导致整体响应时间变长。薄荷网的脚本几乎都是放在顶部的,回头测试比较下看看。

 

规则7,避免CSS表达式

CSS表达是简直像个Bug,可以弃用,寻求变通的解决方便,比如事件处理器等。

 

规则8,使用外部的JavaScriptCSS

相信大家大部分情形下都是使用外联的,但纯粹的处理而已,内联JSCSS似乎更快,考虑到缓存和复用,大部分情况显然是外联更划算。因此,在一些情景,例如首页,还是可以使用内联的。

 

规则9,减少DNS查找

DNS耗费的时间是相当可观的,因此同一页面的域名数量最好控制在2~4之间。

 

规则10,精简JavaScript

精简JavaScript可以显著减少Js文件的大小,减少下载时间。

 

规则11,避免重定向

get的重定向可以通过web serverurl rewrite很好解决。

 

规则12,移除重复脚本

重复的脚本既增加一次http请求,又要重复执行,当然坚决移除了。

 

规则13,配置ETag

目前web serverETag实现不但起不到好的效果,通常还使性能变得更差,真是一个糟糕的设计。所以静态资源尽量去除ETag配置。但是对于刷新频率不高的Rails动态页面,这个似乎是个不错的大幅加快响应的方法,值得再深入好好研究一番。

 

规则14,使Ajax可缓存

就是使用之前的规则应用于Ajax请求)

 

对于前端优化技术,我之前根据已经从 14 条增加到 34 条的 Exceptional Performance 做了一份笔记:

· Web 前端优化最佳实践之 内容篇

· Web 前端优化最佳实践之 Server 

· Web 前端优化最佳实践之 Cookie 

· Web 前端优化最佳实践之 CSS 

· Web 前端优化最佳实践之 JavaScript 

· Web 前端优化最佳实践之 图象篇

· Web 前端优化最佳实践之 Mobile(iPhone) 

这些最佳实践看似没什么艰深的技术含量,而网络上也能看到很多关于网络前端优化的文章,但是实际上我发现能操作、执行下去的网站还是不多,更多的时候,大家把类似的信息当成参考信息而已,看过,丢掉,如此而已。Web 前端优化的时间准则有些其实也算是常识。我曾经听到过某家大型网站的案例:用户反映网站速度慢,进行了多次技术会议,多个方案评估之后,"发现"是图片拖慢了整个网站,于是,大家的意见统一了,建设更多的 CDN ... 可实际上,这个问题或许不需要过多的投入研究,简单的分析一下页面元素比例就知道了。

这本《高性能网站建设指南》的内容以最初的 14 条优化准则写的,精炼简洁(几个小时就能读完),我觉得已经抓住了前端优化的至少 80% 的内容,加上书中的一些引申内容(尤其是涉及到的 RFC),如果这些都能做好,那么已经能够解决绝大部分问题了。所以是绝对值得网站运维人员一读。而且,我也认为这是 Web 2.0 网站架构不可或缺的图书 之一。

另外,发现博文视点的这一批 O'Reilly 的图书都是有索引的,很难得。

 

16
16
分享到:
评论
2 楼 hdzhanghaoran 2012-12-04  
特么的,写 的太好了。
1 楼 liuyuanhui0301 2012-02-29  
   3Q

相关推荐

    高性能网站建设指南_1.pdf

    高性能网站建设指南.pdf高性能网站建设指南.pdf高性能网站建设指南.pdf高性能网站建设指南.pdf高性能网站建设指南.pdf高性能网站建设指南.pdf

    高性能网站建设指南2 中文版 高性能网站建设指南(中文版)

    高性能网站建设指南 “如果实现了Steve这些建议中的20%,你的站点就能出现戏剧性的变化。有了这本书和YSlow扩展,实在是没有理由再构建出运行速度缓慢的网站了。”  ——Joe Hewitt,Firebu9调试器和Mozilla的DOM...

    高性能网站建设指南

    ### 高性能网站建设指南 #### 一、引言 在当今互联网时代,网站已经成为企业和个人展示自身形象、提供服务的重要平台。随着用户对网站访问速度和体验要求的提高,建设高性能网站成为必然趋势。《高性能网站建设...

    高性能网站建设指南系列 包括了两本书

    《高性能网站建设指南》系列是针对Web开发者的一套宝贵资源,旨在提供网站性能优化的最佳实践。这一系列包括两本书——《高性能网站建设指南》和《高性能网站建设进阶指南》,涵盖了从基础到高级的全方位优化技巧。 ...

    高性能网站建设指南(pdf).part2

    《高性能网站建设指南》结合Web2.0以来Web开发领域的最新形势和特点,介绍了网站性能问题的现状、产生的原因,以及改善或解决性能问题的原则、技术技巧和最佳实践。重点关注网页的行为特征,阐释优化Ajax、CSS、...

    高性能网站建设指南.zip

    4. **高性能网站建设进阶指南**:这可能包含更深入的技术细节,如使用服务端渲染(SSR)和预渲染来改善首屏加载时间,或者探讨现代前端框架(如React、Vue.js)的性能优化策略,如代码分割和异步加载。可能还会涉及...

    高性能网站建设指南 高性能网站建设指南

    《高性能网站建设指南》是一本深度探讨如何构建高效、快速、响应迅速的网站的专业书籍。它涵盖了从基础架构到用户体验的各个层面,旨在帮助开发者和网站管理员优化网站性能,提升用户体验,降低服务器负担,并提高...

    经典-网络-WEB-系统-《高性能网站建设进阶指南

    经典 网络 WEB 系统 《高性能网站建设进阶指南

    高性能网站建设进阶指南

    高性能网站建设进阶指南高性能网站建设进阶指南高性能网站建设进阶指南

    高性能网站建设进阶

    本书是《高性能网站建设指南》姊妹篇。作者Steve Souders是前Google Web性能布道者和前Yahoo!首席性能工程师。在本书中Souders与8位专家分享了提升网站性能的实践和实用建议,主要包括:理解Ajax性能,编写高效的,...

    高性能网站建设指南(中文PDF版).rar

    高 性 能 网 站 建 设 指 南 中文 PDF 版

    高性能网站建设进阶指南:WEB开发者性能优化最佳PDF

    《高性能网站建设进阶指南》是一本专为WEB开发者设计的性能优化手册,旨在帮助开发者们构建更快、更稳定、更高效的网站。这本书深入探讨了JavaWeb和Java在网站开发中的应用,结合实际案例,提供了丰富的优化策略和...

    高性能网站建设 指南

    《高性能网站建设指南》是一本深度探讨如何构建高效、快速响应且用户体验卓越的网站的参考资料。这份pdf文档,来源于大家网,旨在为Web开发者提供宝贵的建站策略和实践技巧。通过学习这本书,我们可以了解到一系列...

Global site tag (gtag.js) - Google Analytics