概述
其实想写这方面的文章由来已久,这个系列文章的想法是参照(其 实最早的时候是14条),再结合我自己多年的实际工作经验,结合具体的开发平台(ASP.NET),为读者提供既有理论知识、又有实践指导的参考资料,对 于优化而言,本身是一个长期细致的工作(没有所谓的银弹),并且重在权衡利弊,选择最适合自己项目情况的解决方案。而要达到这样的目标,就需要对网站设计 优化有较为系统的认识,知其然、也知其所以然,然后才可以熟练地运用它们。
我从4月30日开始写这个系列,到今天(5月20日)已经全部写完,主要利用了假日、周末以及晚上的时间),虽然比较辛苦,但自认为这个系列写的质量算是我迄今为止最好的,并且毫无疑问,我有理由借此机会对我的家人的支持表示感谢。
在这个过程中,我也对有关的知识温故而知新,所以说个人收获已经很大了,如果能对阅读者也能有所帮助,那是再好不过的了。
导读
这个系列的内容组织保持了雅虎团队当年所提出的35条原则的结构,以便大家对照起来进行学习。值得一说的是,这些文档虽然参照了原文,但不是对原文的翻译,更多的是加入了我的一些见解以及演绎,有些地方可能还与原文有不太一样的说明。
权衡
我多次提到权衡这个词,就好比一个架构师被问到“什么才是最好的架构?”这样的问题的时候,最合理的回答可能真的是“这个得看情况”(虽然这样的回答可能显得有点像外交辞令),因为技术是很多的,架构也很多,没有哪个架构对所有业务场景都是合适的。
同理,我们提到了很多原则,这些原则各自有它的侧重点。很显然,他们可能还互相有冲突。那么,这能说明什么呢?这难道说明这些原则不合理吗?当然不是,正好相反,这才是合理的。
为了帮助大家更好地了解这些原则之间的关系,抑或是互斥的、抑或是互补的,我整理了一个表格如下,给大家参考。
图中红色标识出来的原则就是或多或少会有互斥的。遇到这些原则,你需要兼顾到其他的原则,两害相权取其轻,做出最适合于你的实际情况的选择。
没有标识颜色的,标识这些原则是有互补性的,或者至少不冲突。
工具
我在编写本系列文章的时候,用到如下的工具
- 开发工具:Visual Studio 2012。我用的是2012,但如果想要跟着做练习,有2010也就可以了。
- 调试工具:
- Fiddler: : 这是一个独立的网络测试和调试工具。
- IE 自带的开发工具(通过F12调出):我用的是IE 10,最好你至少有 IE 9.
- Chrome自带的开发工具(通过F12调出):使用最新版本即可。
- Chrome中安装的Yslow插件:
- 关于Yslow的详细信息(包括计分规则等)请参考:
- Google自己也开发了一个类似的插件(功能很像):Page speed insights
最后,希望这个系列文章对大家有些帮助!
转:http://www.cnblogs.com/chenxizhang/archive/2013/05/20/3088196.html