`
Appleses
  • 浏览: 347926 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

Yahoo性能中心总结的高性能网站设计的规则

 
阅读更多
YSlow是yahoo美国开发的一个页面评分插件,分析页面的不足,指导改进和优化。
-----------------------------------------------------------------------

『Yslow 安装说明』

1.下载FireFox的Add-in Yslow (自己可以找,更安全)
2.安装完成后重启FF,可以看到右下角有Yslow的图标,点击图标,再点击弹出框里的Preformance 标签,可以看到有对网站的评分
-----------------------------------------------------------------------

主要有12条:

1. Make fewer HTTP requests 尽可能少的http请求

其中JS请求,CSS请求,CSS background images请求,如果这3项加载的过多,对页面加载的非常不利,但纯img请求,并没有列为不利因素
一般情况下页面上只会出现一个JS和一个CSS(对JS的封装得有一定的要求)。
一般页面上的ICON,栏目背景啊,图片按钮啊,我们都会用图片CSS背景来实现,而一般这个图片CSS背景用到的图片都是比较小的,所以完全可以把这些图片合并成一个相对比较大的图片,这样页面上只会出现一个CSS background images请求,最多也就2-3个。后来仔细看了下雅虎美国的页面,他们的确也是这样做的,虽然这样做需要花一定的时间来有规则的合并这些ICON,栏目背景,图片按钮,以方便CSS调用,但是这样做绝对是合算的,而且是有必要的,YSlow也是极力推荐的。

2. Use a CDN CDN的全称是Content Delivery Network,即内容分发网络

其目的是通过在现有的Internet中增加一层新的网络架构,将网站的内容发布到最接近用户的网络”边缘”,使用户可以就近取得所需的内容,解决Internet网络拥挤的状况,提高用户访问网站的响应速度。从技术上全面解决由于网络带宽小、用户访问量大、网点分布不均等原因所造成的用户访问网站响应速度慢的问题。

据说SA明年会做几个点的CND。

3. Add an Expires header 设置过期的HTTP Header.

设置Expires Header可以将脚本, 样式表, 图片, Flash等缓存在浏览器的Cache中.
设置过期的HTTP Header 更应该做在脚本, 样式表, Flash上.

4. Gzip components 对页面内容进行Gzip格式的压缩

Gzip格式是一种很普遍的压缩技术,几乎所有的浏览器都有解压Gzip格式的能力,而且它可以压缩的比例非常大,一般压缩率为85%,就是说服务器端100K的页面可以压缩到25K左右的Gzip格式的数据发给客户端,客户端收到Gzip格式的数据后自动解压缩后显示页面。
如果外部链接,例如(有外部的广告投放JS,这个JS说拥有的网站是没有做过GZIP优化)也会连累了自身网站

5. Put CSS at the top 把CSS外部链接放到页面的顶部

其实这个原则我们一般都遵守的,如果把CSS外部链接作为逻辑的一部分出现在页面头部以下,这个本身就是个错误。WEB前端工程师有义务杜绝这些不合理的产品逻辑破坏我们的页面结果及页面加载速度,不能为了实现而实现。

6. Put JS at the bottom 把Javascript脚本尽量放到页面底部加载。

一开始为以为Javascript脚本尽量放到页面底部加载,是指所有的JS脚本都要放到底部,后来才发现,并不完全是这样,这里所指的脚本是指那些在加载过程中要执行的脚本,所以一般的处理办法还是页面头部引入JS链接,页面底部执行JS脚本程序。为了实现最大的下载并行,页面加载初期做的事,最好只有下载,HTML的下载,CSS的下载,JS的下载,等下载完成后再去实现页面渲染,JS脚本运行。


7. Avoid CSS expressions 避免CSS表达式

其实在CSS中运行表达式和页面加载中运行大量的JS脚本差不多,或许还更慢,而且还不兼容,虽然可以使我们在页面逻辑简单不少,但是我们完全可以抛弃之。


9. Reduce DNS lookups 尽可能少的DNS查找。

一般不要超过4个。不过这个主要是服务器架构上的问题,一个主域名,一个图片的,一个STYLE的,最多加上IFREAM的刚好4个。

10. Minify JS 对Javascript代码进行压缩。

一个不错的压缩工具,yuicompressor,雅虎美国开发的JAVA压缩包 yuicompressor.jar。压缩的相当完美,不仅把代码间的空格换行给去除掉了,而且对变量名,北部方法名都进行的简化,无意中实现了混淆脚本的作用。
对JS合并,进行压缩
一套是压缩前的(调试用的),一套是压缩后(发布到网上的),且要保证2套代码一致。
所以最完美的做法是在发布的时候实现JS脚本合并,并对其用yuicompressor进行压缩,然后发布到网上,把关键点移到发布的时候,这样我们只需要关心一套JS脚本(发布前的版本)。


11. Avoid redirects 避免重定向(跳转)

经常遇到的一种做法,注册成功后,旺旺会有一个页面提示“你已经注册成功,3秒后将自动跳转到XX页面”。
还有一种常见的链接,
http://www.google.com   或者
http: //www.google.com/ , 他们的区别很大!
服务器如果接收到的URL是http: //www.google.com ,它会自动重新定向到http://www.google.com /,虽然最后都打开了google的首页,
但是前者比后者多走了一步,重定向,所以加URL链接的时候,别忘了把最后的“/”给加上去。

12. Remove duplicate scripts 去除重复的脚本

不仅要做到一个页面脚本不重复,而且要做到N个页面,脚本要重用。


13. Configure ETags 好像是服务器端配置的问题

YAHOO的官方说明,好像还有一个AJAX CACHE(AJAX 缓存)。
随着我们AJAX应用的广泛,AJAX 缓存这个概念一定有,AJAX是个好东西,但是重复的数据,无休止的向后台申请,绝对是个错误(不仅是速度上还是对服务器压力上来说),所以就要对我们已经申请到的数据进行缓存,当第2次用到的时候,就直接从缓存中取,不要再去访问服务器资源了。这个思想不仅仅适合 AJAX,在所有有数据复用的应用中都应该考虑到。

分享到:
评论

相关推荐

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

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

    高性能网站建设指南1

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

    YSlow for Chrome

    YSlow.3.1.2.crx for Chrome : yahoo性能中心总结的高性能网站设计的14条规则,这个工具就是用来根据这些规则对你的网站进行测试评分的,下载后直接拖到chrome里就可以自动安装了

    YSlow

    yahoo性能中心总结的高性能网站设计的14条规则,这个工具就是用来根据这些规则对你的网站进行测试评分的,下载后直接拖到firefox里就可以自动安装了,但是先要装另外一个插件firebug,在我上传的资源列表里可以找到

    《YaHoo军规》

    为了提供更好的用户体验,YaHoo公司总结出了一套被称为“YaHoo军规”的性能优化规则,这些规则覆盖了从前端开发到部署上线的各个环节,旨在帮助开发者提高网站的访问速度。下面将详细介绍这些规则,并解释每一条规则...

    mysql 性能的检查和优化方法

    ### MySQL性能的检查与优化方法 #### 一、引言 在现代数据库管理领域中,MySQL因其高效稳定、易于扩展等特点被广泛应用于多种场景中,包括但不限于大型互联网公司(如Yahoo, Google, NetEase, Taobao)等。而随着...

    performance one

    ### 高性能网页设计:14条规则提升页面加载速度 #### 一、引言 在互联网技术飞速发展的今天,网页性能优化成为了提高用户体验的关键因素之一。本篇内容基于Nate Koechley在@media2007会议上的演讲整理而成,并结合...

    高性能WEB开发 web性能测试工具推荐

    在高性能Web开发中,Web性能测试是至关重要的环节,它能帮助开发者识别并优化网站的加载速度和用户体验。本文将详细介绍几种常用的Web性能测试工具,它们各有特点,可以帮助开发者从不同角度评估和提升网站性能。 ...

    创建高性能的 Web 页面

    在构建高性能的Web页面方面,存在一些关键的策略和技术,它们对于提升用户体验和页面加载速度至关重要。本段内容将详细解读这些策略和技术,并依照Yahoo总结的“军规”进行介绍。 1. 减少HTTP请求数:这是提升Web...

    Yahoo Widget 开发手册

    ### Yahoo Widget 开发手册:Konfabulator Reference 4.5 #### 重要知识点解析: **一、Konfabulator与Yahoo Widgets** Yahoo Widgets是基于Konfabulator框架开发的应用程序,允许用户在桌面上运行小型应用程序,...

    Yahoo Css压缩工具

    总结,Yahoo CSS压缩工具是Web性能优化的重要工具之一,它通过智能地压缩和优化CSS代码,帮助开发者实现更快的页面加载速度,提升网站的整体性能。对于任何重视用户体验和网站性能的项目,都值得考虑将其纳入构建...

    搜索引擎系统学习与开发总结

    - **合理设置爬取频率**:过高频率的爬取可能会引起目标网站的反感,甚至被封禁。 - **遵守Robots协议**:尊重网站的爬取限制,不访问禁止抓取的页面。 - **提高爬取效率**:优化算法,减少不必要的网络请求。 ####...

    YslowFirefox

    的高性能网站开发最佳实践,包括减少HTTP请求数量、合并CSS和JavaScript文件、启用HTTP压缩、利用CDN等。 **二、YSlow的主要功能** 1. **网页评分**:YSlow会对加载的每个网页进行评分,从A到F,得分越高表示网页...

    加快网站访问速度的 Web设计方法探讨

    YSlow是由Yahoo开发的一款网页性能评估工具,作为Firefox/Firebug的一个插件,它可以对网站页面进行详细的性能分析,并根据预设的规则提供具体的优化建议。YSlow通过分析页面的各种元素(如HTML、CSS、JavaScript、...

    雅虎最佳实践之加速网站速度法则

    【雅虎最佳实践之加速网站速度法则】是针对提升网页加载速度的一系列技术措施,旨在优化前端页面和后台代码,从而提高用户体验。以下是对这些法则的详细解释: 1. **前端页面优化** - **减少HTTP请求次数**:HTTP...

Global site tag (gtag.js) - Google Analytics