高性能网站建设指南

高性能网站建设指南


之前一个机械化工类企业网站项目:发现项目原网站确实卡的不行。

项目结束之后,与之前原网站对比了一下,性能优化的大有可侃之处。
总结归纳了一下高性能建站的经验方法。

结合《高性能网站建设指南》一书[作者:美 · Steve Souders 著 && 刘彦博 译]专业的剖析,这里博客一撒,分享一下此书与经验。


Web前端开发精髓


网站性能优化 参考点:

  • 规则1:减少HTTP请求
    方法:使用图片地图<map>CSS Sprites图片、内联图片base64、合并脚本和样式表

  • 规则2:使用内容发布网络 ( CDN )
    CDN是指:一组分步在多个不同地理位置的web服务器,勇于更加有效地向用户发布内容。
    通常指在讨论性能问题时回提到它的性能,同时它还能节约成本!
    在优化性能时,向特定用户发布内容的服务器的选择基于对网络可用度的测量。
    例如: CDN可能选择网络阶跃数最小的服务器,或者具有最短响应时间的服务器。

过度依赖CDN,易受竞争对手流量、CDN服务的性能下降、无法直接控制CDN组件服务器、用户切换到CDN地理位置远近,等等多个因素的影响。

  • 规则3:添加Expires头
    为组件添加长久的Expires头。这样后续浏览器直接从磁盘上读取它,避免一个HTTP请求。

反之,浏览器会向原始服务器发送一个条件GET请求,如果组件没有改变,原始服务器可以免于发送整个组件,而是发送一个很小的头,告诉浏览器可以使用其缓存的组件。

  • 规则4:压缩组件
    压缩网站的HTML文档、样式表、JavaScript脚本。
    这样可以有机会将页面数据量减少70%以上。

  • 规则5:将样式表放在顶部<head>标签
    使用<link />标签将样式表放在文档的head中。
    这样可以避免白屏、无样式内容的闪烁。

  • 规则6:将脚本放到底部是最佳情况
    并行下载多个图片等文件时,可避免脚本阻塞下载。

很多时候,无法将js脚本移到底部。尤其像:脚本使用document.write向页面内插入内容、作用域问题,等等
还有就是:建议使用延迟脚本

  • 规则7:避免CSS表达式

  • 规则8:将JavaScript和CSS放到外部文件中
    尽量使用外联!

纯粹而言,内联更快一些!

组件重用,避免两个极端:

  • 避免为每个页面提供一组分离的外部文件
  • 避免创建一个单独的、联合了所有的JavaScript的文件,在创建一个包含所有CSS的文件。
  • 规则9:减少DNS请求
    通过使用Keep-Alive和较少的域名来减少DNS查找

  • 规则10:精简JavaScript
    两种方法:精简(简单又安全)、混淆 (更复杂,增加对代码反向工程的难度,提高性能,比精简更能减小代码的大小;但是也有 缺陷: 可能发生引入错误, 维护: 易改变了JavaScript符号,所以需要提前标记API函数等等所有任何不能改变的符号, 调试: 很难阅读)

  • 规则11:避免重定向
    重定向是web页面变慢。
    缺少结尾的斜线/如果没有出现 比如: 重定向访问http://astrology.yahoo.com/astrology时产生的,将导致多出一个301响应,其中将会包含一个到http://astrology.yahoo.com/astrology/的重定向

跟踪内部流量、跟踪出站流量、美化URL

  • 规则12:删除重复脚本
    重复脚本损伤性能,避免重复脚本。确保脚本只被包含一次!

  • 规则13:配置ETag
    配置或移除ETag

  • 规则14:使Ajax可缓存
    确保Ajax请求遵守性能指导,尤其应具有长久的Expires头。


以上就是关于 “ 高性能网站建设指南 ” 的全部内容。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
高性能网站建设指南 “如果实现了Steve这些建议中的20%,你的站点就能出现戏剧性的变化。有了这本书和YSlow扩展,实在是没有理由再构建出运行速度缓慢的网站了。”         ——Joe Hewitt,Firebu9调试器和Mozilla的DOM解释器的开发者   “Steve Souders完成了一项神奇的工作,他提出了一系列简明的、可操作的,并且注重实效的开发步骤,使Web性能世界发生了翻天覆地的改变。”         ——Eric Lawrence,微软Fiddler Web Debugger开发者   想让你的网站显示得更快?本书提供了14种规则,可以使用户在请求页面时减少20%~25%的响应时间。作为Chief Performance Yahoo!,作者Steve Souders收集了在优化网络时访问最多的页面积累下来的最佳实践。即使网站已经进行了高度的优化——如Yahoo!Search和Yahoo!首页——我们也能从这些出奇简单的性能规则中获益。   《高性能网站建设指南》一书介绍了如何针对网站中的Ajax、CSS、JavaScript、Flash和图片进行性能优化。每个性能规则都提供了示例,在本书的配套网站上可以找到代码片段。这些规则包括:   •减少HTTP请求     •使用外部JavaScript和CSS   •使用内容发布网络   •减少DNS查找   •添力Expires头     •精简JavaScript   •压缩组件       •避免重定向   •将样式表放在顶部 •移除重复脚本   •将脚本放在底部   •配置ETag   •避免CSS表达式   •使Ajax可缓存   如果你希望构建高流量页面,并且改善用户访问网站的体验,那么本书是你不可或缺之物。   Steve Souders,Chief Performance Yahoo!,为Yahoo!的其他产品团队开发了性能分析工具,并致力于推广这些最佳实践和工具。在加盟Yahoo!之前,Stevee曾就职于多家中小型公司,其中有两家还是他协办的——Helix Systems和CoolSync。他是斯坦福大学管理科学与工程硕士。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值