`
liudaoru
  • 浏览: 1576230 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Yahoo的14条准则[z]

    博客分类:
  • Ajax
阅读更多

From: http://topic.csdn.net/u/20071206/14/f4474e7d-fb9a-4ba3-a720-e6eab303d7b4.html

 

1.尽可能使用少的HTTP请求 Make fewer HTTP requests;

    这个是很重要的一条,具体措施是使用Image maps  和Inline Images;合并CSS和脚本代码。比如对于Image Maps
(服务器端)server-side
<a href="navbar.cgi"> <img ismap src="imagemap.gif"> </a>→ http://.../navbar.cgi?127,13
(客户端)client-side – preferred
<img usemap="#map1" border=0 src="/images/imagemap.gif">
<map name="map1">  <area shape="rect" coords="0,0,31,31" href="home.html" title="Home">
  …
</map>
(缺点是)drawbacks:
图片需要是连续的。

2.使用内容分发网络 Use a CDN;
  在发布你的动态内容之前发布网站的静态内容,比如使用广泛的Akamai
3.增加一个期限头部 Add an Expires header
  不仅仅是对图片设置,对于脚本和样式表同样需要设置,在Apache中具体的配置方法如下:
    ExpiresActive On
    ExpiresByType application/x-javascript "modification plus 2 years"
    ExpiresByType text/css "modification plus 5 years"
当你修改一个资源的时候,修改资源的名称(自动进行),给文件名称加一个时间戳,例如img_1385413733.png;
同时候将资源纳入版本控制系统中,比如使用CVS个SVN,例如img_1.2.png。

4.压缩组件Gzip components
  当前90% 的浏览器都支持压缩,压缩不仅仅是指HTML,脚本,CSS和XML都可以压缩。
在Apache中修改下面的配置来支持压缩
Apache 2.x: mod_deflate
AddOutputFilterByType DEFLATE text/html text/css application/x-javascript
对于HTTP请求和响应,表现如下
HTTP request: Accept-Encoding: gzip, deflate
HTTP response: Content-Encoding: gzip Vary: Accept-Encoding

5.将CSS置为页面的顶部 Put CSS at the top
  主要原因是CSS样式表会阻塞HTML在IE中的显示(如果没有下载完的话)


6.将JS移植页面的底部 Move JS to the bottom
  主要原因是脚本的执行会阻塞并行下载和阻塞其他元素在IE中的展示


7.避免使用CSS表达式 Avoid CSS expressions
比如下面的例子:
  width: expression(
        document.body.clientWidth < 600 ?
      “600px” : “auto” );
原因是由于鼠标的移动,按下键等操作事件会是的上述表达式执行多次 
8. 是JS和CSS从外部包含  Make JS and CSS external
  可以减少HTML文档的大小,同时增加脚本的重用,但是会增加请求数
但是HomePage是一个例外,在Homepage中使用Inline和 PostOnload效果不错,yahoo和goolgede
首页都这样处理了;
9.减少DNS的查找 Reduce DNS lookups
  一个典型的DNS查询是20-120ms,DNS 查询的时间直接影响到并行下载的效率,尽量减少主机的域名数目。
常用浏览器的缓存时间设置如下:
IE
DnsCacheTimeout: 30 minutes
KeepAliveTimeout: 1 minute
ServerInfoTimeout: 2 minutes
Firefox
network.dnsCacheExpiration: 1 minute
network.dnsCacheEntries: 20
network.http.keep-alive.timeout: 5 minutes
Fasterfox: 1 hour, 512 entries, 30 seconds
10.精简JS Minify JS
  这个主要涉及到JS的编码和优化
11.避免重定向 Avoid redirects
  通常Web服务器返回的是3XX的状态码,常常是301和302,可以通过添加过期头来缓存重定向;
12. 移除重复的脚本 Remove duplicate scripts
    统计数剧表明20%的网站存在重复的脚本文件,这将直接影响HTTP请求的性能 
13.关闭ETags功能 Turn off ETags
    Web服务器返回的实体的唯一标识,主要应用在有条件的Get请求中。
    ETag: "c8897e-aee-4165acf0"
    Last-Modified: Thu, 07 Oct 2004 20:54:08 GMT
    If-None-Match: "c8897e-aee-4165acf0"
  If-Modified-Since: Thu, 07 Oct 2004 20:54:08 GMT
如果ETags不匹配,就不能发送304码,对于服务器之间一个单独的实体的ETag总是不同的。在Server和Client的格式分别
如下:
  Apache: inode-size-timestamp
  IIS: Filetimestamp:ChangeNumber
对于服务器多余一台机器的Site,很少返回304状态码。


14.是AJAX代码可缓存同时经可能小 Make AJAX cacheable and small
  XHR, JSON, iframe, 动态脚本 都是可以被缓存, 精简和压缩的:a personalized response should still be cacheable by that person。比如在Yahoo! Mail Beta中,由于XML标示的地址本是不会经常变动的,可以缓存它,将最后修改时间标记在URL中。
Web性能分析工具
1。IBM Page Detailer  详细信息参考:http://alphaworks.ibm.com/tech/pagedetailer
2。Fasterfox 是Firefox的一个插件,可以详细统计一个网页的载入时间,http://fasterfox.mozdev.org/
3。LiveHTTPHeaders 是Firefox的一个插件,可以查看HTTP请求头  http://livehttpheaders.mozdev.org/
4。firebug 是Firefox的一个插件, 功能强大,可以多JS和CSS做分析 http://getfirebug.com/

结论
  上面总结了Web优化的各种方法和背后的原因,主要集中在前端优化,这也是常常被我们忽略的,作为全球流量第一
的网站yahoo,我想他们的很多经验是值得我们借鉴的,在实践中可以根据具体情况和应用环境取舍。你对你最终用户的
响应时间是可以控制的!

分享到:
评论
1 楼 deng131 2009-05-17  
值得学习这些。

相关推荐

    雅虎工具条安装程序 更多选择 更方便

    雅虎工具条是一款基于雅虎全新的工具条开放平台所开发的客户端软件,在提供优秀的雅虎应用服务的同时,其完全开放的平台也支持合作伙伴和开发者自定义的网络应用。雅虎工具条将联合众多合作伙伴和开发者,为用户提供...

    雅虎优化34条规定(HTML、SEO)

    **雅虎优化34条规定详解** 雅虎作为全球知名的互联网公司,其在网站优化方面有着丰富的经验和独到的见解。为了提升网页的搜索引擎排名、提高用户体验以及网站的可访问性,雅虎制定了一系列的优化规则。这些规则不仅...

    雅虎给出的34条网站加速方法

    雅虎给出的34条网站加速方法

    雅虎屏幕取色器

    《雅虎屏幕取色器:网页设计师与开发者必备的色彩工具》 雅虎屏幕取色器,这是一款专为网页设计人员和开发人员量身打造的实用工具,它以其高效、便捷的特性在业内广受好评。这款软件的绿色版设计,意味着无需安装,...

    雅虎助手(曾经的经典)

    《雅虎助手:曾经的经典与浏览器修复技术》 在互联网早期,雅虎助手(Yahoo! Assistant)是一款备受用户青睐的工具软件,它为用户提供了一系列的在线浏览辅助功能,包括网页加速、广告拦截、隐私保护等。这款软件在...

    伪雅虎Tab标签

    标题中的“伪雅虎Tab标签”指的是在网页设计中,模仿雅虎网站风格创建的Tab式导航栏。这种设计方式可以提升用户体验,使用户能够快速地在不同的内容区域之间切换,而无需刷新整个页面。Tab标签是网页界面设计中常见...

    雅虎天气API调用

    雅虎天气API调用是开发人员获取实时天气信息的一种方式,它允许开发者通过发送特定的请求到雅虎的服务器,然后获取返回的JSON或XML格式的天气数据。这个API广泛应用于移动应用、网站或者任何需要集成天气信息的系统...

    雅虎地图yahoomaps 1.0

    雅虎地图yahoomaps 1.0,挺好用的

    超逼真仿雅虎天气界面

    【标题】:“超逼真仿雅虎天气界面” 在移动应用设计领域,界面的美观性和用户体验是至关重要的因素。这个项目旨在实现一个高度仿真雅虎天气应用的Android界面,为用户提供与雅虎天气应用类似的视觉体验和交互效果...

    雅虎给出的34条优化网站访问速度加快方法

    ### 雅虎给出的34条优化网站访问速度加快方法 #### 一、内容部分 根据雅虎的Exceptional Performance团队所分享的最佳实践,我们可以将这些优化网站访问速度的方法分为七大类共计34条。这里我们将重点介绍“内容...

    获取雅虎天气预报API

    雅虎天气API是一个流行的API,允许开发者获取关于全球各地天气的实时信息。本文将深入探讨如何利用雅虎天气API来获取数据,并通过JSON格式解析这些数据。 首先,雅虎天气API提供了关于天气的各种信息,包括温度、...

    axure案例 雅虎首页幻灯

    axure案例 雅虎首页幻灯

    雅虎Widget制作全攻略

    制作widget的入门级别书目~可供参考~雅虎widget

    雅虎邮箱注册机源代码

    易语言 源代码 雅虎 邮箱 申请 注册雅虎邮箱注册机。源代码 ,利于学习。

    雅虎.docx

    《雅虎面试攻略:从公司文化到面试技巧的全面解析》 雅虎,这个曾经的互联网巨头,一直是众多求职者向往的圣地。了解雅虎,不仅仅是对其辉煌历史的认知,更是为了在激烈的职场竞争中占据先机。本文将从公司概况、...

    雅虎助手下载

    雅虎助手

    雅虎取色器

    "雅虎取色器"是一款便捷的屏幕颜色采集工具,专为需要精确选取屏幕上颜色的用户设计。这款软件小巧易用,无需安装,是设计师、程序员以及任何对颜色选取有需求的人的理想选择。其主要功能包括RGB和16进制颜色格式的...

Global site tag (gtag.js) - Google Analytics