首页 > 教程 > 关键词  > 网站打开速度最新资讯  > 正文

有效提高网页打开速度的十四条建议

2010-03-05 15:26 · 稿源:中国站长站综合

网站最基本的东西是什么?

——内容,SEO(搜索引擎优化)还是UE(用户体验)?都不对!是速度!

内容再丰富的网站,如果慢到无法访问也是毫无意义的; SEO做的再好的网站,如果搜索蜘蛛抓不到也是白搭; UE设计的再人性化的网站,如果用户连看都看不到也是空谈。

所以网页的效率绝对是最值得关注的方面。如何才能提高一个网页的效率呢?

第一条:Make Fewer HTTP Requests 尽可能的减少HTTP的Request请求数。

80%的用户响应时间都是浪费在前端。而这些时间主要又是因为下载图片、样式表、JavaScript脚本、flash等文件造成的。减少这些资源文件的Request请求数将是提高网页显示效率的重点。

这里好像有个矛盾,就是如果我减少了很多的图片,样式,脚本或者flash,那么网页岂不是光秃秃的,那多难看呢?其实这是一个误解。我们只是说尽量的减少,并没有说完全不能使用。减少这些文件的Request请求数,当然也有一些技巧和建议的:

1、用一个大图片代替多个小图片。

这的确有点颠覆传统的思维了。以前我们一直以为多个小图片的下载速度之和会小于一个大图片的下载速度。但是现在利用httpwatch工具的对多个页面进行分析后的结果表明事实并不是这样。

第一张图是一个大小为40528bytes的337*191px的大图片的分析结果。

第二张图是一个大小为13883bytes的280*90px的小图片的分析结果。


一个大小为40528bytes的337*191px的大图片的分析结果


一个大小为13883bytes的280*90px的小图片的分析结果

第一张大图片花费时间为:

Blocked:13.034s
Send:0.001s
Wait:0.163s
Receive:4.596s
TTFB:0.164s
NetWork:4.760s
功耗时:17.795s

真正用于传输大文件花费的时间为Reveive时间,即4.596s,多数的时间是用来检索缓存和确定链接是否有效的Blocked时间,供花费13.034s,占总时间的73.2%。

第二张小图片花费时间为:

Blocked:16.274s
Send:小于0.001s
Wait:0.117s
Receive:0.397s
TTFB:0.118s
NetWork:0.516s
功耗时:16.790s

真正用于传输文件的花费时间是Reveive时间,即0.397s,这的确要比刚才大文件的4.596s小很多。但是他的Blocked时间为16.274s,占总时间的97%。

如果这些数据还不够说服你的话,让我们看看下面这张图。这里列出了某个网页中所有图片中的花费时间示意图。当然,里面的图片有大有小,规格不一。

大约80%以上的时间是用来检索缓存和确定链接是否有效的Blocked时间。

其中藏青色的为传输文件花费的Reveive时间,而前面白色的为检索缓存和确认链接是否有效的Blocked时间。铁一样的事实告诉我们:

大文件和小文件下载所需时间的确是不同的,差异的绝对值不大。而且下载所需时间占总耗费时间比例很小。

大约80%以上的时间是用来检索缓存和确定链接是否有效的Blocked时间。无论文件大小,这个时间的花费大致是相同的。而且所占总耗费时间的比例是极大的。

一个100k的大图片总耗费时间绝对大于4个25k的小图片的总耗费时间。而且主要差别就是4个小图片的Blocked时间绝对大于1个大图片的Blocked时间。

所以如果可能还是使用大图片来替代过多的琐碎的小图片吧。这也是为什么翻转门的效率要高于图片替换实现的滑动门的原因。

但是,请注意:也不能用太大的单张图片,因为那样会影响到用户体验。例如个几兆的背景图片的使用绝对不是一个好主意。

2:合并你的css文件。

图:合并与融合我以前犯了一个错误,你在看我《样式表的组织与规划》的系列文章中会知道。当时,我为了方便组织和规划样式表,将用于不同用途的样式表文件 分离开来,形成不同的css文件。然后在页面中根据需要引用多个css文件。根据“尽可能的减少HTTP的Request请求数”准则我们知道,那样的确 是不合理的,因为那样会产生更多的HTTP的Request请求数。从而降低网页的效率。所以,从提高网页效率的角度上而言,我们还是应该将所有的css 写在同一个css文件中。但是问题又来了。那么怎么来很好的组织和规划样式表呢?这的确是个矛盾。我现在的做法是采用两套版本。编辑版和发布版。编辑版仍 然使用多个css文件以便于规划和组织。而等到发布的时候,再将多个css文件合并到一个文件中去,从而达到减少HTTPRequest请求数的目的。

3:合并你的javascript文件。

原因和处理方法同上,不再赘言。

第二条:Use a Content Delivery Network 使用CDN

这个看上去好像很深奥的样子,但是只要结合中国的网络特色,这个便不难理解了。“北方服务器”、“南方服务器”、“电信服务器”、“网通服务器”……这些 词听起来是那么熟悉和压抑。如果,一个北京的电信用户试图从广东的网通服务器上打开一个类似《壁纸合集》帖子的网页时,你就能很深刻的理解。

鉴于这个不是我们开发人员力所能及的准则,所以这里也就不多言了。

第三条:Add an Expires Header 添加周期头

这个也并非开发人员来控制,而是网站服务器管理员的职责。所以,如果作为开发人员的你不了解和明白也没有关系。还是把这个准则告诉公司的网站服务器管理员。

第四条:Gzip Components 启用Gzip压缩

这个大家应该比较熟悉。Gzip的思想就是把文件先在服务器端进行压缩,然后再传输。这对于体积较大的纯文字型的文件有特效。鉴于这也并非开发人员,而是网站服务器管理员的工作范畴,这里就不详细讲解了。如果你对此感兴趣,可以资讯贵公司的网站服务器管理人员。

第五条:Put CSS at the Top 把CSS样式放在页面的上方。

无论是HTML还是XHTML还是CSS都是解释型的语言,而非编译型的。所以CSS到上方的话,那么浏览器解析结构的时候,就已经可以对页面进行渲染。 这样就不会出现,页面结构光秃秃的先出来,然后CSS渲染,页面又突然华丽起来,这样太具有“戏剧性”的页面浏览体验了。

第六条:Move Scripts to the Bottom 将脚本放在底部

原因同第五条一样。只是脚本一般是用来于用户交互的。所以如果页面还没有出来,用户连页面都不知道什么样子,那谈交互简直就是扯谈。所以,脚本和CSS正好相反,脚本应该放在页面的底部。

第七条:Avoid CSS Expressions 避免使用CSS中的Expressions

CSS中的Expressions其实也是一种if判断首先有必要先说明一下CSS Expressions是什么一个东西。其实它就像其它语言中的if……else……语句。这样在CSS中就可以进行简单的逻辑判断了。举个简单的例子——

<style>
input{background-color:expression((this.readOnly && this.readOnly==true)?"#0000ff":"#ff0000")}
</style>
<INPUT TYPE="text" NAME="">

<INPUT TYPE="text" NAME="" readonly="true">这样css就可以根结一些情况分别使用不同的样式了。如果你对这个感兴趣可以到我的博客上阅读相关的文章—— 《CSS中的expression系列文章》。但是CSS中Expressions 的代价却是极高的。当你的页面需要根据判断来渲染效果的元素很多的时候,那么你的浏览器将长期处于假死状态,从而给用户带来极差的用户体验。

第八条:Make JavaScript and CSS External 将javascript和css独立成外部文件

这一条好像和第一条有点矛盾。的确,如果从HTTP的request请求数来讲的话,这样做的确是降低了效率。但是之所以这么做,是因为另外一个重要的考 虑因素——缓存。因为外部的引用文件会被浏览器缓存,所以如果javascript和css体积较大的时候,我们将它们独立成外部文件。这样当用户只要浏 览一次以后,这些体积较大的js和css文件就能被缓存起来,从而极高地提高用户再次访问时的效率。

第九条:Reduce DNS Lookups减少DNS查询

DNS域名解析系统。大家都知道我们之所以能记住那么多的网址,是因为我们记住的都是单词,而非https://202.153.125.45这样的东西,而帮我们把那些单词和202.153.125.45这样的ip地址联系起来的就是DNS。那这一条对我们到底有什么真正意义上的指导意义呢?其实有两条:

1:如果不是必须,请不要把网站放到两台服务器上。

2:网页中的图片、css文件、js文件、flash文件等等,不要太多的分散在不同的网络空间中。这就是为什么那种只发一个网站中的壁纸图片的帖子,要比壁纸图片来源于不同网站的帖子显示要快得多的原因。

第十条:Minify JavaScript and CSS减少JavaScript和CSS文件的体积

这点很好理解。在你的最终发布版本中把没有必要的空行、空格和注释全部去掉。显然手工去处理效率太低,好在网上到处都是用于压缩这些东西的工具。压缩JavaScript代码体积的工具随处可见,我便不再列举了,这里我只提供一个用于压缩css代码体积的在线工具网站——https://www.cssdrive.com/index.php/main/csscompressor(重点推荐!写css的一定要看啊,可以减小我们的css体积。
它提供了多种压缩方式,可以适应多种要求。

第十一条:Avoid Redirects 避免跳转

我只从网页开发人员的角度来解读此条。那么我们可以解读到什么东西呢?2点——

1:“此域名已过期,5秒钟以后,页面将跳转到https://www.xxxxxx.com/index.html页面”,这句话看起来的确很熟悉。但是,我就奇怪了,为什么不直接链接到那个页面呢?

2:一些链接地址请更明确的写出来。例如:将https://justinyoung.cnblogs.com/ 写成https://justinyoung.cnblogs.com (注意最后面一个“/”符号)。的确,这两个网址都能访问到我的博客,但是,事实上,它们是有区别的。https://justinyoung.cnblogs.com 的结果是个301响应,它会被重新指向https://justinyoung.cnblogs.com/ 。但是显然,中间多浪费了一些时间。

第十二条 Remove Duplicate Scripts 移除重复的脚本

图:对重复说“不!”这个准则的道理很浅显,但是真正在工作中,很多人却因为“项目时间紧”、“太累了”、“初期没有规划好”……这样的理由搪塞过去了。你,的确可以找很多的理由不去处理这些多余重复的脚本代码,如果你的网站不需要更高的效率和后期维护的话。
也正是这点,我提醒大家一些,一些javascript框架、javascript包一定要慎用。至少要问一下:用了这个js kit 到底给我们多少方便,提高了多少工作效率。然后,再与它因为多余的、重复的代码带来的负面效果比较一下。

第十三条:Configure ETags 配置你的实体标签

首先来讲讲什么是Etag吧。Etag(Entity tags )实体标签。这个tag和你在网上经常看到的标签云那种tag有点区别。这个Etag不是给用户用的,而是给浏览器缓存用的。Etag是服务器告诉浏览器 缓存,缓存中的内容是否已经发生变化的一种机制。通过Etag,浏览器就可以知道现在的缓存中的内容是不是最新的,需不需要重新从服务器上重新下载。这和 “Last-Modified”的概念有点类似。很遗憾作为网页开发人员对此无能为力。他依然是网站服务器人员的工作范畴。如果,你对此有兴趣,可以咨询 贵公司的网站服务器管理员。

第十四条:Make Ajax Cacheable 上面的准则也适用Ajax

Ajax的使用要恰当现在的Ajax好像有点被神话了,好像网页只要Ajax了,那么就不存在效率问题了。其实这是一种误解。拙劣的使用Ajax不会让你 的网页效率更高,反而会降低你的网页效率。Ajax的确是个好东西,但是请不要过分的神话它。使用Ajax的时候也要考虑上面的那些准则。

httpwatch下载地址https://down.chinaz.com/soft/17902.htm

举报

  • 相关推荐
  • AI 工具导航网站哪个好?超全 AI 工具导航网站推荐指南

    本文介绍了当前主流AI工具导航平台的特点和优势,帮助用户快速找到合适工具。重点推荐了5个平台:Futurepedia收录3000+工具,分类细致并提供实测指南;Insidr.ai含500+工具,适合专业用户查找;AI Parabellum对4500+工具进行深度测评;Product Hunt适合发现前沿新品;AIBase覆盖13000+工具,支持多维度筛选。特别推荐AIBase因其工具覆盖广、分类细、更新快、界面友好,并提供详细使用教程和API文档,是寻找AI工具的一站式解决方案。

  • 国内有哪些AI工具导航网站?2025年最全AI工具导航网站盘点

    本文介绍了国内主要AI工具导航网站,帮助用户快速找到合适的AI资源。重点推荐了AIbase、AI工具集、人工智能导航和AI导航站等平台,这些网站收录了上万种AI工具,涵盖聊天助手、办公、视频、编程、写作、图像等多个领域。文章分析了各平台特色:AIbase规模大、分类全;AI工具集界面简洁更新快;人工智能导航提供综合学习资源;AI导航站有智能推荐系统。建议用户根据需求选择内容丰富、分类清晰、体验良好的导航网站,并关注更新和社区互动,以充分利用AI工具提升效率。

  • 夸克月人均打开65次 断层领先 是百度的6倍以上

    在QuestMobile 2025年AI应用市场半年报中,夸克的AI搜索插件以月人均64.9次的使用频次,遥遥领先其他AI搜索引擎。 这一数据不仅远超同类产品,更是百度AI搜索的6倍以上,展现出断层领先的用户粘性。

  • AI 工具多到头疼?AI 工具大全看这个网站就够了

    本文针对AI工具过多、难以筛选的问题,推荐了多个优质AI工具导航平台。文章首先指出当前AI工具数量庞大、信息碎片化严重,普通用户难以快速找到优质工具。随后重点推荐了Insidr.ai、Futurepedia.io、Toolify.ai等国际平台,以及国内平台AIbase,这些平台收录了数千款主流AI工具,覆盖写作、图像生成、编程、办公自动化等各类场景,支持分类检索、工具评测和对比功能。文章特别

  • 雷军一镜到底实测小米YU7充电速度:买杯咖啡的功夫就充完

    今晚,雷军更新了短视频,他亲自出镜,以一镜到底的方式实测小米 YU7 的充电速度。 视频中,雷军将小米YU7电量耗至10%后开始充电,随后前往咖啡店。仅仅13分钟后,当雷军买好咖啡回到车旁时,小米YU7的电量已经充至80%。 在充电过程中,车机显示充电电压稳定在786V左右,最大充电功率更是高达446KW。

  • 在线 AI 工具大盘点:哪个生图更好用?超实用导航网站推荐

    文章介绍了当前在线AI工具在各领域的广泛应用,重点分析了写作、设计和教育三大领域的代表性工具。写作方面,ChatGPT和豆包能快速生成各类文本内容;设计领域,Adobe Firefly和Canva通过AI简化创作流程;教育工具如松鼠Ai提供个性化学习方案。文章还对比了Midjourney、Stable Diffusion和文心一格等生图工具的优劣,最后推荐AIbase导航网站帮助用户快速找到合适工具。这些AI工具显著

  • AI日报:扣子空间网页设计功能上线;阿里Wan 2.2即将上线;​OpenAI即将发布 GPT-5

    【AI日报】今日AI领域重要动态:1)Coze推出网页AI设计功能,5分钟生成网页;2)通义千问发布Qwen-MT翻译模型,支持92种语言;3)ChatGPT全面推出Agent功能;4)阿里云Wan2.2视频生成AI即将上线;5)Anthropic推出审计Agent提升AI对齐测试;6)OpenAI计划8月发布GPT-5;7)谷歌发布无代码AI应用开发工具Opal;8)南洋理工与上海AI Lab推出PhysX-3D项目,为3D模型添加物理属性;9)快手开源KAT-V1大模型,40B版本性能接近DeepSeek-R1;10)讯飞星火X1升级版上线,在多语言和语音处理方面显著提升。(140字)

  • 最全AI工具导航网站盘点:国内优质AI工具导航平台深度解析

    本文介绍了国内主流AI工具导航网站,帮助用户在海量AI工具中精准定位所需。随着AI技术发展,优质导航网站不仅能系统性分类各类工具,还能提供实时更新的评测和使用指南。重点推荐了5个平台:AIbase(收录超1万工具)、AI工具集(注重实用性评估)、优设AI导航(设计师专用)、AI导航网(创新性工具推荐)、AI工具网(智能搜索匹配)。建议用户根据工具收录量、分类体�

  • 樱花动漫网站运营者被捕 被判2年3个月:因侵犯著作权

    据日本内容海外流通协会消息,中国知名动漫网站“樱花动漫”的运营者于2023年10月14日被四川省成都市公安局正式立案调查,涉及刑事案件。经过一年多的司法程序,2024年12月13日,四川省成都市天府新区人民法院对该案作出一审判决:运营者因侵犯著作权罪被判处有期徒刑2年,并处罚金人民币1万元;同时,因伪造私文书罪被判处有期徒刑7个月,并处罚金人民币5000元。两罪并�

  • 打开折叠形态想象力 三星Galaxy Z Fold7|Z Flip7激发AI新动能

    三星发布第七代折叠屏旗舰Galaxy Z Fold7/Flip7系列,通过One UI8系统实现AI与折叠形态的深度整合。新品在硬件创新和智能体验上双重突破:Fold7优化分屏多任务处理,新增智能拖放功能;Flip7配备4.1英寸外屏实时显示关键信息。Galaxy AI升级为"智慧伙伴",支持即圈即搜、实时翻译等场景化功能,Bixby新增视觉交互能力。同步推出的Galaxy Watch8系列搭载BioActive传感器,5秒测抗氧化指数。三星计划2025年底前将Galaxy AI覆盖超4亿设备,目前新品正开展购机优惠活动。

今日大家都在搜的词:

热文

  • 3 天
  • 7天