网站提高速度的13个简易规则

news/2024/5/12 0:02:39/文章来源:https://blog.csdn.net/dinglang_2009/article/details/6958790

本文为译文,原文地址:http://www.codinghorror.com/blog/2007/08/yslow-yahoos-problems-are-not-your-problems.html

YSlow: Yahoo's Problems Are Not Your Problems

I first saw Yahoo's 13 Simple Rules for Speeding Up Your Web Site referenced in a post on Rich Skrenta's blog in May. It looks like there were originally 14 rules; one must have fallen off the list somewhere along the way.

我第一次看到雅虎的13个简单的规则,加快您的网站在引用Skrenta丰富的博客后,在 5月。它看起来像本来有14规则,必须有脱落沿途的清单 某处。

  1. 少的HTTP请求
  2. 使用内容传送网络
  3. 添加一个Expires头
  4. Gzip已组件
  5. 把在顶部的CSS
  6. 将脚本的底部
  7. 避免CSS表达式
  8. 使JavaScript和CSS外部
  9. 减少DNS查找
  10. 缩小的JavaScript
  11. 避免重定向
  12. 删除重复的脚本
  13. 配置ETag的

它的坚实的意见,从优秀扑杀雅虎的用户界面博客,即将打包成 一个类似的优秀图书。它也 可作为一个PowerPoint演示文稿在Web 2.0大会上发表。

我在我的职务也包括类似的地面 ,减少您的网站的带宽使用情况。

但在此之前运行和实施所有雅虎坚实的意见,考虑到观众。这些规则是从雅虎,根据Alexa是一个在世界前三名的网页内容。里奇的公司,东证,没有懒散-他们在顶部2000。这是很自然,富深知雅虎意见,就如何将兴趣规模的网站,每天数以百万计的唯一用户。

为了帮助他人实施的规则,雅虎创建一个Firebug的插件,YSlow的。这个插件评估当前页,使用的13条规则,并提供具体的指导,就如何修复它发现的任何问题。和所有最重要的是,该工具一个得分率与页面 - !得分有没有我们的爱超过熬煮的网页和网页复杂的意见,以一个简单的数字得分。这里是我成绩单昨日后的得分。

YSlow的表现评分

要理解的得分,你必须解剖个别规则的比重,像西蒙Chiaretta那样 :

重量113,添加Expires头
4。GZIP组件
13。配置ETag的
重量102。使用内容传送网络
。放置在顶部的
CSS 10 。缩小的
JavaScript 11 。避免重定向
重量59。减少DNS查找
6。移动脚本的底部
12。删除重复的脚本
重量41。较少的请求(CSS 
)1 。较少的请求( JS)
重量31。较少的请求(CSS背景图像 )
重量27,避免CSS表达式

我的73 YSlow的评分是可敬的,但我已经做了一些改变,以容纳大量需求。为了得到一些常见的网站得分的想法 ,西蒙娜跑的博客数量的YSlow,并录得的结果:

  • 谷歌:一(99)
  • 雅虎开发者网络博客:(66)
  • Yahoo!用户界面博客:(65)
  • 斯科特Watermasysk:(62)
  • 苹果:(61)
  • 戴维Shea的mezzoblue:(60)
  • 除了一个名单:F(58)
  • 史蒂夫哈曼:F(54)
  • 编码恐怖:传真:(52)
  • Haacked由菲尔:女(36)
  • Scott Hanselman的计算机禅:F(29)

YSlow的是一个方便的工具,但无论是在网上是非常低效的网页,或者有什么东西错误的,其得分。我以后会得到。

在“统计信息”标签包含一个总结以及浏览器缓存和无的足迹,您下载的页面的总规模。从雅虎的主要结果之一是 40%至60%,每日游客有一个空的缓存。因此,有必要优化大小的一切,而不是靠客户端浏览器缓存保存在通常情况下给你。

YSlow的统计

YSlow的也被打破了更加详细的通过组件“选项卡上的统计。在这里你可以看到几个关键的判断标准,为每一个页面上的资源...

  • 这个资源是否有一个明确的到期日?
  • 这个资源压缩吗?
  • 这个资源是否有一个ETag吗?

... ... 随着绝对大小。

YSlow的组件

YSlow会是一个有用的工具,但它可以在不法分子手中的危险。软件开发人员喜爱的优化。有时太多。

这里有一些好的建议,但也有很多的意见,才有意义,如果你运行一个网站,获取数以百万计的独特的用户每天。你运行一个这样的网站吗?如果是这样,你在做什么而不是你的私人飞机飞行奖杯妻子到百慕大度假 ?剩下的我们应该多一点有关的意见,我们按照选择性。避免的诱惑,盲目套用这些“顶(X)的方式(Y)”列出了Digg和其他社交网站上如此受欢迎。相反,阅读的建议,批判和思考实施这一建议的后果 。

如果您无法读取雅虎的意见,看房,你可能使您的网站, 菲尔哈克不幸发现。虽然许多这些规则是面包和奶油HTTP优化方案,很不幸,一些雅虎的名单上最高的加权规则是非常危险的,如果不是平面的错误较小的网站。而当你定义为“比雅虎小”的“小”,这是.. 好了,几乎每个人都。因此,让我们在雅虎的名单上最棘手的权重意见,关键看 。

使用内容分发网络(重量:10)

如果你要问 一个正式的内容分发网络将耗资多少,你可以买不起。这是更有效地想到这“繁重”在您的网站-例如,你提供任何媒体或图像大块-外包好得多配备处理的外部网站 。这是我提供的意见,最重要的 位,减少您的网站的带宽使用情况。一个CDN,使用下面的一个合理的雅虎式的交通量,甚至 可以减缓你的网站上下 。

配置ETag的(重量:11)

ETag的是一个校验领域的服务与每个服务器上的文件,如果服务器上的资源是客户持有本地缓存版本不同,所以客户端可以告诉。雅虎建议转向ETag的,因为它们会导致服务器上的农场,由于他们与机器特定的标记生成方式的问题。所以,除非你运行一个服务器场,你应该忽略本指导意见。这将不仅使您的网站表现较差,因为客户端将有一个更困难的时候,确定其缓存是陈旧或新鲜。它可以为客户端使用现有的最后修改日期字段,以确定是否是陈旧的缓存,但 最后一次修改是一个薄弱的验证程序, 而实体标记(ETag的)是一个强大的的验证器。为何疲软的贸易实力 ?

添加一个Expires头(重量:11)

这是不坏的意见,本身,而是它可以造成巨大的问题,如果你弄错了。在微软的IIS,例如,将Expires头始终是关闭默认情况下,可能正是由于这个原因, 。HTTP资源设置一个Expires头,你告诉客户端从不检查资源的新版本-至少直到Expires头的到期日。当我说没有,我的意思是-浏览器甚至不会要求一个新的版本,它只是承担其缓存版本好走,直到客户端清除缓存,缓存达到的到期日期 。雅虎指出,他们改变了对这些资源的文件名 ​​,当他们需要 他们刷新。

你真的节能这里是客户端ping了一个新的版本的服务器和一个不能修改的304头,在通常情况下,资源并没有改变的成本。这不是开销很大.. 除非你是雅虎。当然,如果你有一个图像或脚本,几乎永不 改变的,肯定是利用客户端缓存打开Cache - Control头 。缓存到浏览器的性能是至关重要的;每个Web开发人员都应该有一个HTTP的缓存作品的深刻理解 。但只有一个手术,有限的方式使用这些特定的文件夹或文件,可以受益。为别的,风险大于好处。这当然不是你想变成毯默认为您的整个网站上的东西 .. 除非你想改变文件名 ​​,每次改动的内容。

我不意味着采取任何雅虎的出色指导。 雅虎的13个简单为加快您的网站规则和同伴 ,YSlow的Firebug的插件,是整个互联网的优秀资源 。通过一切手段,读取它。从中受益。实现它。我一直在 敲打GZip压缩的好处多年。

但也认识到,雅虎的问题不一定是你的问题。有没有这样的东西作为一个放之四海而皆准的指导。力争首先要了解的意见,然后实施意见,使您的具体情况的意识 。


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_717113.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

大型网站图片服务器架构的演进

在主流的Web站点中,图片往往是不可或缺的页面元素,尤其在大型网站中,几乎都将面临“海量图片资源”的存储、访问等相关技术问题。在针对图片服务器的架构扩展中,也会历经很多曲折甚至是血泪教训(尤其是早期规划不足&am…

大型网站架构体系的演变(上)

互联网上有很多关于网站架构的各种分享,有些主要是从运维和基础架构的角度去分析的(堆机器,做集群),太关注技术细节实现,普通的开发人员基本看不太懂。 本文上篇将主要介绍大型网站基础架构的扩展&#xff…

大型网站架构体系的演变(下)

接着上篇的继续在做扩展满足了基本的性能需求后,我们会逐渐关注“可用性”(也就是我们通常听别人吹牛时说的SLA、几个9)。如何保证真正“高可用”,也是个难题。几乎主流的大中型互联网公司,都会有用到类似的架构&#…

细说缓存在大型网站架构中的应用

缓存的基本知识 在整个计算机体系构造中(无论是硬件层面还是软件层面),缓存都是无处不在的。 在计算机硬件构造中,由于两种介质的速度不匹配,高速介质在和低速介质交互时速度趋向低速方,这就导致了高速介质…

.net 调用其它网站第一次总是访问失败_大型网站核心架构之高可用(四)

网站可用性的度量与考核网站可用性度量 网站不可用也被称作网站故障,业界通常用多少个9来衡量网站的可用性,比如QQ的可用性是4个9,即QQ服务99.99%可用,这意味着QQ服务要保证其在所有的运行时间中,只有0.01%的时间不可用…

c++怎么从主网页中读取子网站_如何用C++写一个网站

1.前言用各种语言写过一些网站之后,我不禁开始好奇,C能不能写网站呢,实际上想到这个问题的时候,我就大致有了答案。本文中我们将尝试用C写一个简单的网站,探索一些细节性的问题,并报告用C写网站的体验如何。…

基于Springboot的大学生招聘网站系统

1.项目简介 1.1 系统研究背景 伴随着中国经济的飞速发展,城市化进程的加快,求职者队伍的不断壮大,传统人才招聘的弊端初露端倪。首先,传统人才应聘的形式是求职者和企业的负责人面对面地交流。这就需要企业和求职者提前规划自己…

Springboot+vue项目体用用品销售商城网站

摘 要 随着科学技术的飞速发展,社会的方方面面、各行各业都在努力与现代的先进技术接轨,通过科技手段来提高自身的优势,体用用品销售商城网站当然也不能排除在外。体用用品销售商城网站是以实际运用为开发背景,运用软件工程原理…

Springboot+vue项目点餐平台网站

文末获取源码 开发语言:Java 开发工具:IDEA /Eclipse 数据库:MYSQL5.7 应用服务:Tomcat7/Tomcat8 使用框架:springbootvue JDK版本:jdk1.8 本系统主要实现了管理员:首页、个人中心、用户管理、菜品分类管理、菜品信息管理、菜品评价管理…

Springboot+vue项目音乐网站与分享平台

文末获取源码 开发语言:Java 开发工具:IDEA /Eclipse 数据库:MYSQL5.7 应用服务:Tomcat7/Tomcat8 使用框架:springbootvue JDK版本:jdk1.8 音乐网站与分享平台的主要使用者分为管理员和用户,实现功能包括管理员:首页、个人中…

Springboot+vue前后端分离的租房网站

开发语言:Java 开发工具:IDEA /Eclipse 数据库:MYSQL5.7 应用服务:Tomcat7/Tomcat8 使用框架:springbootvue JDK版本:jdk1.8 本系统有管理员;首页、个人中心、用户管理、房屋类型管理、房屋信息管理、预约看房管理、在线签约管理、租赁…

SpringBoot+vue实现前后端分离的宠物销售商城网站

开发语言:Java 开发工具:IDEA /Eclipse 数据库:MYSQL5.7 使用框架:springbootvue JDK版本:jdk1.8 本选题则旨在通过标签分类管理等方式,实现管理员:首页、个人中心、用户管理、商品分类管理、商品信息管理、订单评价管理、系统管理…

SpringBoot+vue实现前后端分离的垃圾分类网站系统

文末获取源码 开发语言:Java 开发工具:IDEA /Eclipse 数据库:MYSQL5.7 使用框架:springbootvue JDK版本:jdk1.8 本论文主要论述了如何使用JAVA语言开发一个垃圾分类网站 ,本系统将严格按照软件开发流程进行各个阶段的工作,采用B/S…

SpringMVC+Vue项目旅游资源网站

末获取源码 开发语言:Java 开发工具:IDEA /Eclipse 数据库:MYSQL5.7 应用服务:Tomcat7/Tomcat8 使用框架ssmvue JDK版本:jdk1.8 前言介绍 旅游资源网站的主要使用者分为管理员和用户,实现功能包括管理员:首页、个人中心、用户管…

SpringMVC+Vue项目中国风音乐推介网站

末获取源码 开发语言:Java 开发工具:IDEA /Eclipse 数据库:MYSQL5.7 应用服务:Tomcat7/Tomcat8 使用框架ssmvue JDK版本:jdk1.8 前言介绍 近年来,随着我国经济的不断发展,平台的管理制度越来越多。每个音乐推介网站也都将通过计…

SpringMVC+Vue实现前后端的志愿者招募网站

末获取源码 开发语言:Java 开发工具:IDEA /Eclipse 数据库:MYSQL5.7 应用服务:Tomcat7/Tomcat8 使用框架ssmvue JDK版本:jdk1.8 前言介绍 志愿者招募的需求和管理上的不断提升,志愿者招募网站的潜力将无限扩大,志愿者招募网站在…

SpringBoot+Vue项目漫画网站

文末获取源码 开发语言:Java 框架:springboot JDK版本:JDK1.8 服务器:tomcat7 数据库:mysql 5.7/8.0 数据库工具:Navicat11 开发软件:eclipse/myeclipse/idea Maven包:Maven3.3.9 浏…

SpringBoot+Vue+Element-UI实现校园新闻网站

文末获取源码 开发语言:Java 框架:springboot JDK版本:JDK1.8 服务器:tomcat7 数据库:mysql 5.7/8.0 数据库工具:Navicat11 开发软件:eclipse/myeclipse/idea Maven包:Maven3.3.9 浏…

SSM+Vue+Element-UI实现移动电商网站

文末获取源码 开发语言:Java 框架:ssm JDK版本:JDK1.8 服务器:tomcat7 数据库:mysql 5.7/8.0 数据库工具:Navicat11 开发软件:eclipse/myeclipse/idea Maven包:Maven3.3.9 浏览器&am…

Java毕设项目——人才招聘网站(java+SpringBoot+Maven+Mysql+Jsp)

文末获取源码 开发语言:Java 框架:SpringBoot 技术:Jsp JDK版本:JDK1.8 服务器:tomcat7 数据库:mysql 5.7/8.0 数据库工具:Navicat11 开发软件:eclipse/myeclipse/idea Maven包&…