首页 > 优化 > 关键词 > Web程序优化最新资讯 > 正文

Web程序优化的最佳实践(网站内容篇)

2015-07-20 16:55 · 稿源:博客园

Yahoo!的Exceptional Performance团队为改善Web性能带来最佳实践。他们为此进行了 一系列的实验、开发了各种工具、写了大量的文章和博客并在各种会议上参与探讨。最佳实践的核心就是旨在提高网站性能。

Excetional Performance 团队总结出了一系列可以提高网站速度的方法。可以分为 7 大类 34 条。包括内容、服务器、cookie、CSS、JavaScript、图片、移动应用等七部分。

其中内容部分一共十条建议:

内容部分

1. 尽量减少HTTP请求

2. 减少DNS查找

3. 避免跳转

4. 缓存Ajxa

5. 推迟加载

6. 提前加载

7. 减少DOM元素数量

8. 用域名划分页面内容

9. 使frame数量最少

10. 避免 404 错误

1、尽量减少 HTTP 请求次数

终端用户响应的时间中,有 80%用于下载各项内容。这部分时间包括下载页面中的图像、 样式表、脚本、Flash 等。通过减少页面中的元素可以减少 HTTP 请求的次数。这是提高 网页速度的关键步骤。 减少页面组件的方法其实就是简化页面设计。那么有没有一种方法既能保持页面内容的 丰富性又能达到加快响应时间的目的呢?这里有几条减少 HTTP 请求次数同时又可能保持页面内容丰富的技术。

合并文件是通过把所有的脚本放到一个文件中来减少 HTTP 请求的方法,如可以简单地 把所有的 CSS 文件都放入一个样式表中。当脚本或者样式表在不同页面中使用时需要做 不同的修改,这可能会相对麻烦点,但即便如此也要把这个方法作为改善页面性能的重 要一步。

CSS Sprites是减少图像请求的有效方法。把所有的背景图像都放到一个图片文件中, 然后通过CSS的background-image和background-position属性来显示图片的不同部分;

图片地图是把多张图片整合到一张图片中。虽然文件的总体大小不会改变,但是可以减 少 HTTP 请求次数。图片地图只有在图片的所有组成部分在页面中是紧挨在一起的时候 才能使用,如导航栏。确定图片的坐标和可能会比较繁琐且容易出错,同时使用图片地 图导航也不具有可读性,因此不推荐这种方法;

内联图像是使用data:URL scheme的方法把图像数据加载页面中。这可能会增加页面的 大小。把内联图像放到样式表(可缓存)中可以减少HTTP请求同时又避免增加页面文件 的大小。但是内联图像现在还没有得到主流浏览器的支持。

减少页面的HTTP请求次数是你首先要做的一步。这是改进首次访问用户等待时间的最重 要的方法。如同Tenni Theurer的他的博客Browser Cahe Usage – Exposed!中所说, HTTP请求在无缓存情况下占去了 40%到 60%的响应时间。让那些初次访问你网站的人获 得更加快速的体验吧!

2、减少DNS查找次数

域名系统(DNS)提供了域名和IP的对应关系,就像电话本中人名和他们的电话号码的 关系一样。当你在浏览器地址栏中输入www.800hr.com时,DNS解析服务器就会返回这个 域名对应的IP地址。DNS解析的过程同样也是需要时间的。一般情况下返回给定域名对 应的IP地址会花费 20 到 120 毫秒的时间。而且在这个过程中浏览器什么都不会做直到 DNS查找完毕。

缓存 DNS 查找可以改善页面性能。这种缓存需要一个特定的缓存服务器,这种服务器一 般属于用户的 ISP 提供商或者本地局域网控制,但是它同样会在用户使用的计算机上产 生缓存。

DNS 信息会保留在操作系统的 DNS 缓存中(微软 Windows 系统中 DNS Client Service)。大多数浏览器有独立于操作系统以外的自己的缓存。由于浏览器有自己的 缓存记录,因此在一次请求中它不会受到操作系统的影响。

Internet Explorer 默认情况下对 DNS 查找记录的缓存时间为 30 分钟,它在注册表中的 键值为 DnsCacheTimeout。Firefox 对 DNS 的查找记录缓存时间为 1 分钟,它在配置文 件中的选项为 network.dnsCacheExpiration(Fasterfox 把这个选项改为了 1 小时)。

当客户端中的 DNS 缓存都为空时(浏览器和操作系统都为空),DNS 查找的次数和页面 中主机名的数量相同。这其中包括页面中 URL、图片、脚本文件、样式表、Flash 对象 等包含的主机名。减少主机名的数量可以减少 DNS 查找次数。

减少主机名的数量还可以减少页面中并行下载的数量。减少 DNS 查找次数可以节省响应 时间,但是减少并行下载却会增加响应时间。我的指导原则是把这些页面中的内容分割 成至少两部分但不超过四部分。这种结果就是在减少 DNS 查找次数和保持较高程度并行 下载两者之间的权衡了。

3、避免跳转

跳转是使用 301 和 302 代码实现的。下面是一个响应代码为 301 的 HTTP 头:HTTP/1.1 301 Moved Permanently

Location: http://example.com/newuri

Content-Type: text/html

浏览器会把用户指向到 Location 中指定的 URL。头文件中的所有信息在一次跳转中都是 必需的,内容部分可以为空。不管他们的名称,301 和 302 响应都不会被缓存除非增加 一个额外的头选项,如 Expires 或者 Cache-Control 来指定它缓存。<meat />元素的刷 新标签和 JavaScript 也可以实现 URL 的跳转,但是如果你必须要跳转的时候,最好的

方法就是使用标准的 3XXHTTP 状态代码,这主要是为了确保"后退"按钮可以正确地使用。

但是要记住跳转会降低用户体验。在用户和 HTML 文档中间增加一个跳转,会拖延页面 中所有元素的显示,因为在 HTML 文件被加载前任何文件(图像、Flash 等)都不会被下 载。

有一种经常被网页开发者忽略却往往十分浪费响应时间的跳转现象。这种现象发生在当 URL 本该有斜杠(/)却被忽略掉时。例如,当我们要访问 http://astrology.yahoo.com/astrology 时,实际上返回的是一个包含 301 代码的跳 转,它指向的是 http://astrology.yahoo.com/astrology/ (注意末尾的斜杠)。在 Apache 服务器中可以使用 Alias 或者 mod_rewrite 或者 the DirectorySlash 来避免。

连接新网站和旧网站是跳转功能经常被用到的另一种情况。这种情况下往往要连接网站 的不同内容然后根据用户的不同类型(如浏览器类型、用户账号所属类型)来进行跳转。

使用跳转来实现两个网站的切换十分简单,需要的代码量也不多。尽管使用这种方法对 于开发者来说可以降低复杂程度,但是它同样降低用户体验。一个可替代方法就是如果 两者在同一台服务器上时使用 Alias 和 mod_rewrite 和实现。如果是因为域名的不同而 采用跳转,那么可以通过使用 Alias 或者 mod_rewirte 建立 CNAME(保存一个域名和另 外一个域名之间关系的 DNS 记录)来替代。

  • 相关推荐
  • 大家在看
  • 如何将访客转化为潜在客户?这个8个网站优化策略了解下

    你是否已经将自己的网站优化到最佳状态了呢?通过优化来产生潜在客户是转化网站已经获得的流量的最好方法之一。然而,如果你认为在网站的主页上添加几个“点击这里”的CTA策略(注:Callto Action,行动呼吁),就能获取更多的潜在客户,很遗憾的说,这个想法大错特错。

  • SEO优化,4个独辟蹊径的策略!

    有的时候SEO工作就是一个数字游戏,每天看着数据的增长,不断的调整相关性的策略,但我们非常清楚,有的时候SEO优化会面临各种调整,特别是同行业之间的竞争。

  • 优速快递聚力品效,不断实践 不断优化

    品效驱动货量 货量牵引收益收益拉动盈利 加速赢取未来品效、品效、品效。打牢集团底盘,以持续、稳定的品效服务驱动网络盈利能力,是集团决胜千里的不二法宝。加之,当前疫情所带来的挑战与机遇的双面性影响,我们更要聚焦品质和效率,伺机而起,不放过任何一个逆势而起的机遇。基于此, 4 月 17 日集团在全网吹响了为期 120 天的“品效提升季——全网在行动”战役号角。即集团总部高管、省区高层管理人员集体深入分拨中心操作一线

  • 车轮"加油"频道,深入优化客户体验

    近年来,得益于我国经济高速发展,人们的生活水平稳定提升,汽车消费呈现井喷之势。众所周知,汽车的使用离不开汽油的支持,因此,汽车加油成为用车养车中的主要消费项目。而使消费者在加油中感到便利和实惠,在当今社会人们日益忙碌,压力越来越大的情况下,显得尤为重要。专注于全国汽车生活服务领域的移动互联网公司车轮互联想车主所想,解车主之难,在全国范围内推出了加油服务,"价格优惠"和"一键加油"是其服务的亮点。目前,

  • 阅文优化新合同,网文产业的质变何时才能到来?

    距离阅文集团与网文作者的“合同纠纷”已隔一月,昨天,这一事件终于有了阶段性的进展。 6 月 3 日,阅文集团新管理层发布了针对旗下作者的“单本可选新合同”。阅文方面表示,该合同根据不同授权分为三类四种,取消单一格式合同,并对此前充满争议的旧合同进行了十余项修改,以长图的形式为网友们划出重点。 阅文新领导团队在这份合同中表现出来的尊重与诚意,获得了网文大神与业内专家的支持与认可。 与此同时,作为内容产业的?

  • 教你挑选香烟陈列优化神器——自动补货推进器

    自动补货器、香烟推烟器、卷烟推进器,一款陈列神器——推进器已被应用在各大商超。众所周知,为提升店铺档次,降低人工成本,减少损耗,提升满陈列效率,会想到借助自动理货器对商品进行整理,也就是——货架自动推进器,我们以香烟推进器作优势分析:1、使用了香烟推进器,丰富了香烟陈列场景,完善香烟陈列场景化,使不同的香烟陈列美观,丰富香烟陈列效果。2、一体成型工艺降低了人工组装成本,提高生产效率。和陈列柜,货架,?

  • 信息流优化策略与SEO搜索排名,有关联吗?

    最近,在和SEO你问我答群里小伙伴,私下交流的时候,总是在说一些流量获取的问题,而最为常讨论的情况就是SEO流量与信息流平台的流量。

  • 壹米滴答“品效提升季”优化全网服务品效

    品效驱动货量 货量牵引收益收益拉动盈利 加速赢取未来品效、品效、品效。打牢集团底盘,以持续、稳定的品效服务驱动网络盈利能力,是集团决胜千里的不二法宝。加之,当前疫情所带来的挑战与机遇的双面性影响,我们更要聚焦品质和效率,伺机而起,不放过任何一个逆势而起的机遇。基于此, 4 月 17 日集团在全网吹响了为期 120 天的“品效提升季——全网在行动”战役号角。即集团总部高管、省区高层管理人员集体深入分拨中心操作一线

  • 你不知道的,抖音直播间流量优化细则

    大批的新人主播涌入抖音,不少小白主播开始遇到没人看、没人买、不会推广、不会合作的各种问题,希望今天的文章能够帮你解决这些问题。

  • iOS 14必升理由?iPhone摄像头大幅优化

    iOS 14已经正式公布,并面向开发者推送升级,公测版Beta1预计7月份上线。iOS 14带来了主屏幕小部件(支持层叠)、App Library自动归类聚合、App Clips小程序、弹窗式来电界面、消息置顶、地图

  • 微软准备Windows Core OS:全力优化Chromium使用体验

    微软正在全力准备新的Windows系统Core OS,作为Windows 10的模块化版本,该软件旨在容纳多种不同外形尺寸的设备。除了类似Chromebook的廉价上网本,Core OS还可在双屏/折叠设备、以及HoloLens 2

  • 阅文发布优化版新合同 推出“单本可选新合同”

    今日,阅文集团宣布发布“单本可选新合同”,阅文称,该合同针对此前合同中的十余项条款进行了大刀阔斧的改革,作家可以登录作家助手APP内页面查看。此次合同匹配作家不同的发展需求分为三类四种,取消单一格式合同,推出了基础协议、授权协议、深度协议,满足不同作家的发展诉求。

  • 亚马逊旗下视频网站Twitch暂时封停特朗普账号:有冒犯性内容

    6月30日,据媒体报道,亚马逊旗下视频网站Twitch周一暂时禁止美国总统唐纳德·特朗普(Donald Trump)在其平台上发言,理由是他的帖子内容不当。报道称,鉴于特朗普在两次集会上发表的言

  • 小米10音频负优化?官方实测:没有变过 音响效果完全一样

    6月29日消息,针对米粉提出的小米10系列音频不同版本有差异、是否存在负优化这一问题,小米手机系统软件部总监张国全做出回应。张国全表示,工程师端午节假期在实验室分别测试了小米10、小米1

  • 中国联通浙江分公司回应整改:年底前完成产品优化

    日前,浙江省消保委对中国联通浙江分公司就腾讯王卡套餐“专属流量不专属,免流软件不免流”等相关问题进行了约谈,并提出了整改要求。近日,中国联通浙江分公司向浙江省消保委发来整改回复函,并提出了相应的整改方案。

  • 英特尔发布第三代至强扩展处理器 首款针对AI进行优化

    英特尔公司在北京正式发布了第三代英特尔至强扩展处理器及全新的AI软硬件产品组合,旨在进一步助力客户在数据中心、网络及智能边缘环境中加速开发和部署AI及数据分析工作负载。值得一提的是英特尔Stratix10 NX也是英特尔首款针对AI进行优化的FPGA。此次英特尔推出的硬件和软件产品组合亮点包括:第三代英特尔“至强”可扩展处理器是首批内置bfloat16支持的主流服务器CPU,而bfloat16则是英特尔深度学

  • Win10 5月更新谜之Bug:已修复的磁盘优化问题再度出现

    Windows 10 May 2020升级范围已经扩大,不过一些用户更完后发现,之前微软修复的问题,又重新出现了,相当迷幻。根据用户的反馈和外媒的复现测试,升级 Windows 10 Version 2004 功能更新会导

  • 小程序与APP相互搏杀,内容创业者究竟需要怎样的平台?

    截止 2019 年年底,国内市场上监测到的APP数量达 367 万款,小程序则超过 450 万。在艾瑞咨询日前发布的这份《 2020 年中国移动互联网内容生态洞察报告》中,小程序正展现出巨大的活力,成为用户触达内容和服务的关键途径。

  • 《互联网圆桌派》首期开播,百度智能小程序牵手晓程序观察论道内容行业新趋势

    6 月 30 日,由百度智能小程序和晓程序观察联合主办的《互联网圆桌派》圆满落幕。本期直播主题为“内容行业如何打好「中心化+去中心化」组合拳”,活动邀请了百度智能小程序生态负责人林小琳、艾瑞咨询的高级分析师张新田,以及律图法律咨询运营负责人郑述超、蘑菇宠医创始人廉达歧、众聚云购公司旗下STMBUY游戏商城运营负责人唐彩云等内容行业专家,围绕“内容行业如何打好「中心化+去中心化」组合拳”这一主题进行了深入的探讨,

  • 底层优化+ AI 能力,ColorOS 7.2让你的OPPO手机更流畅

    2019 年 11 月 20 日,「轻快无边界」的 ColorOS 7 正式发布。围绕「快」,ColorOS 7 除了带来系统底层优化,同时加入诸多效率操作,让 ColorOS 7 体验更畅快。2020 年 6 月 5 日,ColorOS 7.2 随 OPPO Reno4 系列一同发布,该版本在拥有原本的「轻快」体验之外,还带来全新的「AI 应用预启动」功能,大幅提升应用启动效率,帮助用户快人一步,决胜于毫秒之间。AI 自主学习,越用越懂你ColorOS 7.2 内置 AI 模型,能自主学习用户在

  • 参与评论
文明上网理性发言,请遵守新闻评论服务协议