首页 > 优化 > 关键词 > Web前端性能优化最新资讯 > 正文

Web前端性能优化教程01:减少Http请求

2015-04-17 16:22 · 稿源:teroy博客园

 

本文是Web前端性能优化系列文章中的第一篇,主要讲述如何减少减少Http请求。完整教程可查看:Web前端性能优化

性能黄金法则

只有10%-20%的最终用户响应时间花在接收请求的HTML文档上,剩下的80%-90%时间花在HTML文档所引用的所有组件(图片,script,css,flash等等)进行的HTTP请求上。

前言

有关前端性能优化的资料参考于《高性能网站建设》这本书,这一系列的文章可以看作是对这本书的阅读笔记。

改善响应时间的最简单途径就是减少组件的数量,并由此减少HTTP请求的数量。接下来将探讨几个技术实现。

1. 图片地图

图片地图允许你在一个图片上关联多个URL。目标URL的选择取决于用户单击了图片上的哪个位置。

以导航栏为例,当点击图标的时候将打开一个新的窗口。要实现的效果如下图:

我们可以通过使用五个分开的图片,然后让每个图片对应一个超链接。然而这样无疑就产生了5个Http请求,我们的目标是要减少HTTP请求,这里图片地图就可以派上用场了,通过将五个图片合并为一张图片,然后以位置信息定位超链接,这样就把HTTP请求减少为一个了,又可以保证设计的完整性和功能的齐全性,实现代码如下:

  • <img usemap="#map1" border=0 src="">
  • <map name="map1">
  •     <area shape="rect" coords="0,0,31,31" href="javascript:alert('Home')" title="Home">
  •     <area shape="rect" coords="36,0,66,31" href="javascript:alert('Gifts')" title="Gifts">
  •     <area shape="rect" coords="71,0,101,31" href="javascript:alert('Cart')" title="Cart">
  •     <area shape="rect" coords="106,0,136,31" href="javascript:alert('Settings')" title="Settings">
  •     <area shape="rect" coords="141,0,171,31" href="javascript:alert('Help')" title="Help">
  • </map>

2. CSS Sprites

CSS Sprites中文翻译为CSS精灵,通过使用合并图片,通过指定css的backgroud-image和backgroud-position来显示元素。

这里重点提一下backgroud-position属性。backgroud-position:x y; x和y可以写负值也可以写正值,我们可以想象图片的左上方为(0,0),以(0,0)坐标向右是为负数的x轴,以(0,0)坐标向下是为负数的y轴。正值的情况则以图片左下方为(0,0),向右是为正数的x轴,向上是为正数的y轴。

来看一张来自豆瓣的翻页图片:

可以明显地看到这里组合了4张图片,上面两个按钮是初始显示按钮样式,当鼠标移到上面的时候就变为下面两个按钮样式,实现代码如下:

  • <html>
  • <head>
  •     <title></title>
  •     <style type="text/css">
  •         .left{ background-image:url(2.png); background-position:0px 0px; width:18px; height:18px; }
  •         .right{ background-image:url(2.png); background-position:-18px 0px; width:18px; height:18px; }
  •         .left:hover{ background-position:0px -18px; }
  •         .right:hover{ background-position:-18px -18px; }
  •     </style>
  • </head>
  • <body>
  •     <div>
  •         <div class="left"></div>
  •         <div class="right"></div>
  •     </div>
  • </body>
  • </html>

通常情况下,前端切图得到的是一张张小图标,要将其合并为一张图,可以使用专门的工具,例如CSS Sprite Generator,这个工具不仅可以合并图片,同时还可以生成图片的css样式。

与图片地图做一个对比:图片地图是依赖于html实现,CSS精灵依赖于CSS实现,CSS精灵的实现方式更为灵活。

3. 合并脚本和样式表

适当地把多个脚本合并为一个脚本,把多个样式表合并为一个样式表。

网友热搜:

  • 相关推荐
  • 大家在看
  • HTTP和HTTPS是什么?

    我们都知道使用浏览器访问一个网站页面,需要知道该网站的域名,例如访问百度知道,在浏览器的地址栏中我们会看到一串URL。网站的URL会分为两部分:通信协议和域名地址。域名地址都很好理解,不同的域名地址表示网站中不同的页面,而通信协议,简单来说就是浏览器和服务器之间沟通的语言。网站中的通信协议一般就是HTTP协议和HTTPS协议。两者分别是什么,有什么区别呢?HTTP协议HTTP协议也就是超文本传输协议,是一种使用明文数据?

  • 百度MIP功能下线 MIP核心、组件等前端静态资源仍可使用

    6 月 4 日,百度搜索资源平台发布《MIP入口下线通知》称,因业务调整,搜索资源平台的“资源提交-MIP”入口即日起下线。MIP核心、组件等前端静态资源仍正常维护与使用,不影响已改造为MIP标准的站点的正常访问、收录、排序。

  • 由于冠状病毒,Airbnb可能削减在Amazon Web Services上的支出

    [TechWeb]Airbnb首席执行官Brian Chesky表示,如果冠状病毒大流行继续对其业务造成压力,该公司准备在今年进一步削减预算。Chesky 在最近几个月表示,由于Covid-19危机,该公司经历了一轮裁员,冻结了招聘并暂停了营销活动,但仍有可能进一步削减其在亚马逊云计算服务上的支出空间。切斯基说:“亚马逊网络服务(AWS)和客户服务仍有机会提高我们使用数据的方式,处理联系人的效率。” “因此,我们将继续提高业务效率,但此刻业?

  • 出于隐私考虑:苹果拒绝在Safari部署16个Web API

    据外媒报道,苹果本周表示,它拒绝在Safari浏览器上实施 16 项新网络技术(Web API),因为这些技术为用户指纹识别开辟了新途径从而对他们的隐私构成威胁。这 16 项技术具体如下:

  • 思科Webex助力客户高效远程办公,重塑工作模式

    Webex扩大容量、添加更多安全和智能洞察功能,赋能远程医疗 新闻摘要: ● Webex平台迎来了前所未有的市场需求,应用规模达到正常水平的三倍之多 。 ●作为最值得信赖的业务连续性供应商,思科在扩展全球容量上持续投资,提高Webex的弹性。 ● 为了确保客户可以随时随地轻松、安全地开展协作,思科为Webex添加了更多安全功能,并增加了与Box的全新集成 。 ● Webex Control Hub的智能和可行性洞察功能 可帮助IT人员管理不断扩大的

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

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

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

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

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

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

  • 苹果拒绝在Safari部署16个Web API 避免对用户隐私构成威胁

    苹果本周表示,它拒绝在Safari浏览器上实施 16 项新网络技术(Web API),因为这些技术为用户指纹识别开辟了新途径,对用户的隐私构成威胁。

  • OKEx C2C借贷上线WEB端 产品矩阵愈加完善

    随着加密货币市场对稳健理财强烈需求的显现,C2C借贷逐渐成为加密货币市场布局的新赛道。近日,全球著名的加密货币交易平台OKEx上线C2C借贷功能WEB端,再次为行业发展注入强劲动能。三步完成借币继3月19日在APP端全面上线C2C借贷功能后,OKEx产品线再添新成员,于6月23日宣布其C2C借贷功能现已上线WEB端。用户可前往OKEx官网进行借币操作,通过质押BTC或ETH借到USDT,实现资金的灵活周转。整个借币过程操作简单方便,三步即可完成?

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

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

  • 泰捷WEBOX GT电视盒子卖太贵?拆完机终于找到原因了!

    说起电视盒子,估计大家都不陌生,谁家电视还不搭配一个呢?也正是由于这个巨大的市场需求,各种电视盒子的品牌也是层出不穷,看起来小小的盒子,不菲的利益。让我们看看为了低价冲市场,市面上那些劣质盒子都是怎么欺骗用户的吧:虚假配置是首位。明明1G的内存,生生说成是2G; 4 核处理器的说成是 8 核;国产不知名CPU的生生标注成国外高端进口……用二手料则在其次。壳料用再生塑胶,连电子元器件都敢别人报废下来的呆料、过期?

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

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

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

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

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

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

  • 瑞幸咖啡宣布撤销召开听证会请求

    今日,瑞幸咖啡宣布,已决定撤回之前举行听证会的请求,公司股票将于2020年6月29日开盘时停牌。

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

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

  • 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内页面查看。此次合同匹配作家不同的发展需求分为三类四种,取消单一格式合同,推出了基础协议、授权协议、深度协议,满足不同作家的发展诉求。

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