减少HTTP请求的四种方式

由于HTTP1.1协议规定请求只能串行发送,也就是说一百个请求必须一次逐个发送,前面的一个请求完成才能发送下一个请求。

所以我们在开发的时候应该尽量减少HTTP请求,如下有4种方式:

1、使用图片地图

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

使用<map><area></area></map>标签,如:

<img usemap="#map1" border=0 src="/images/imagemap.gif?t=1517842951">
<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精灵,通过使用合并图片,通过指定CSS的background-image和background-position来显示元素,如:

<div id="navbar" style="background-color: #F4F5EB; border: 2px ridge #333; width: 180px; height: 32px; padding: 4px 0 4px 0;">
  <a href="javascript:alert('Home')" title="Home"><span class="home"></span></a>
  <a href="javascript:alert('Gifts')" title="Gifts"><span class="gifts"></span></a>
  <a href="javascript:alert('Cart')" title="Cart"><span class="cart"></span></a>
  <a href="javascript:alert('Settings')" title="Settings"><span class="settings"></span></a>
  <a href="javascript:alert('Help')" title="Help"><span class="help"></span></a>
</div>

#navbar span {
  width:31px;
  height:31px;
  display:inline;
  float:left;
  background-image:url(/images/spritebg.gif?t=1517843093);
}
.home     { background-position:0 0; margin-right:4px; margin-left: 4px;}
.gifts    { background-position:-32px 0; margin-right:4px;}
.cart     { background-position:-64px 0; margin-right:4px;}
.settings { background-position:-96px 0; margin-right:4px;}
.help     { background-position:-128px 0; margin-right:0px;}
3、合并脚本和样式表

把多个脚本合并为一个脚本,多个样式表合并为一个样式表

4、使用Base64编码来减少页面请求数,如:

<a href="javascript:alert('Home')" title="Home"><img border=0 src="data:image/gif;base64,R0lGODlhHwAfAPcAAAAAAIxKAKVjCLW1tb29tcbGvc7OxtZ7ANbWztbW1tbe1t7e1uelMefn1ufn3ufn5+fv3u+MAO/v5+/v7/fGCPf35/f37//nYyH5BAEAAAAALAAAAAAfAB8AAAj+AAEIHEhQAoICAxImLIBAAsGHEAc6KEDAgAIJGCU4UGCgooOIESUYYJjxgQSTGE0eNOAQpMCJBhycnGmyJs2RH0E6INAQpc2ZNDEiIJDzoQSSP5MCrXmwJUEDMWs6eCDTQYQDWKdOPTkV6sOdD8KKFRvhAlYKBx4IOCBA7M6iRxE4mEt3btkDDBgcQLtWQN2hLd8uWOBgcOG7DChQ0IuWrYLChAk8AGCwwODLgxErVsyYrYMEl0nGVUC6tObNnPceSFBaQVMJAxC4lo3gNOrUaFnTHoAxNm3XVxPfRq139e8BEGAjWD5bgIALw287T8AcAXLly2kjOACdc17higXSIKDO/Lpv7Qq4bw7APgBq8eOzX69InrZ6xe3dbxZffyTGkb8tdx8F+b0Xn2sFsCSBAgTM5lp63RHYnoHUudZgRgkGOGCB+43nGk4OGcQTabKx5dyJKJ7ImoUNCaRRAZYN1ppsrT3Y2gIwyjSQBAtUpABml/0IJGYd6VjQUDH9uBFkGxGm5I8dPQaRUAQUMBdhhBV25ZYUJZBcSAtSJBddWZZ5UAGPOTXlgkNVOSZdBxEwIkYu7VhYnAol5GaadRqF0Uaz0TgXnX2umVFyGakJUUAAADs="></a>


  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在设备管理中,数据传送控制方式通常分为四种,分别是程序查询方式、中断驱动方式、DMA方式和直接存储器访问方式。 1. 程序查询方式:这种方式是通过CPU轮流查询I/O设备的状态来进行数据传送的。CPU通过轮询方式查询I/O设备的状态,如果设备准备好了,就进行数据传送。这种方式的优点是简单易实现,缺点是CPU需要占用大量时间来轮询设备状态,效率较低。 2. 中断驱动方式:这种方式是通过设备向CPU发送中断请求来进行数据传送的。当设备准备好了,就向CPU发送中断请求,CPU响应中断并进行数据传送。这种方式的优点是CPU不需要占用大量时间轮询设备状态,缺点是每次数据传送都需要进行中断处理,效率较低。 3. DMA方式:这种方式是通过DMA控制器来进行数据传送的。DMA控制器可以直接控制设备和内存之间的数据传送,CPU只需要启动DMA传送并等待传送完成即可,从而减少了CPU的负担。这种方式的优点是效率高,缺点是DMA控制器的成本较高。 4. 直接存储器访问方式:这种方式是通过设备直接访问内存进行数据传送的。设备可以直接访问内存中的数据,而不需要经过CPU,从而减少了CPU的负担。这种方式的优点是效率最高,缺点是对系统的硬件和软件要求非常高。 总之,这四种数据传送控制方式各有优缺点,选择哪一种方式要根据具体的应用需求和系统硬件条件来决定。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值