由于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>

减少HTTP请求的四种方式相关推荐

  1. curl 发送 POST 请求的四种方式

    使用 curl 发送 POST 请求的四种方式: application/x-www-form-urlencoded 使用实例 $ curl localhost:3000/api/basic -X P ...

  2. Post请求的四种方式

    Post请求四种传送方式的Python实现 HTTP 协议规定 POST 提交的数据必须放在消息主体(entity-body)中,但协议并没有规定数据必须使用什么编码方式.常见的四种编码方式如下: ♦ ...

  3. Java 实现HTTP请求的四种方式总结

    前言 在日常工作和学习中,有很多地方都需要发送HTTP请求,本文以Java为例,总结发送HTTP请求的多种方式 HTTP请求实现过程 GET ▶️①.创建远程连接 ▶️②.设置连接方式(get.pos ...

  4. java发送http请求的四种方式

    自己对知识的总结 4种分别可发送get和post请求的方法, 第1种:HttpURLConnection. 第2种:URLConnection. 第3种:HttpClient,,HttpClient常 ...

  5. android java 多线程,Android多线程的四种方式

    当我们启动一个App的时候,Android系统会启动一个Linux Process,该Process包含一个Thread,称为UI Thread或Main Thread.通常一个应用的所有组件都运行在 ...

  6. JDBC 连接数据库的四种方式

    JDBC 连接数据库的四种方式 每博一文案 师傅说,人这一辈子总有许多遗憾,许多无可奈何. 其实有些事情不用太过执着,放下牵绊你的生活无畏执念,你会收获一个更为广阔的天地. 想开,看开,放开这六个字, ...

  7. 实现Web端即时通讯的四种方式

    Web端即时通讯技术:即时通讯技术简单的说就是实现这样一种功能:服务器端可以即时地将数据的更新或变化反应到客户端,例如消息即时推送等功能都是通过这种技术实现的.但是在Web中,由于浏览器的限制,实现即 ...

  8. 详解vue 路由跳转四种方式 (带参数)

    本文介绍了vue 路由跳转四种方式 (带参数),本文通过实例代码给大家介绍的详细,具有一定的参考借鉴价值,需要的朋友可以参考下 1. router-link 1. 不带参数 <router-li ...

  9. 解决存储过程中数据安全问题的四种方式

    随着科技的不断发展,数据量也正在呈指数倍的增加.在这样一个大背景下,存储产品成为了时下市场中最热的产品.而数据的安全性也变得尤为重要.后端存储已经逐渐成为企业业务系统的核心和关键. 一般而言,我们有四 ...

最新文章

  1. 带你感受小而美的看板协作工具Leangoo的魅力
  2. Java实现算法导论中Pollard的rho启发式方法
  3. C++重载、覆盖和遮蔽
  4. Nginx的server为0.0.0.0/0.0.0.1的作用?
  5. 互联网公司各种“花式”裁员,套路特别深,作为程序员你知道吗?
  6. 30名工程师,历时1300天打造,又一“国产”AI框架开源了
  7. 我热爱编程,但我讨厌这个行业
  8. 反射 数据类型_c#反射,反射程序员的快乐
  9. go 安装mysql驱动_window下GO语言安装mysql驱动
  10. word | word一键排版 | word极速排版 | 真正的一键排版
  11. 境外游导航App选择
  12. Timer 和TimerTask分析
  13. python编程的线性/非线性规划问题求解
  14. 在Word2007文档中设置页面边框
  15. ip地址映射-方便开发微信公众号,小程序等
  16. 荒诞 (absurdity)
  17. win10彻底永久关闭自动更新的方法【已验证有效】
  18. 2017中山大学计算机考研科目,2017年中山大学0812计算机科学与技术考研参考书目推荐...
  19. 章鱼哥APp到底怎么赚钱?为什么滴滴公司会和它进行合作?
  20. 单片机缩略词及标志位完整英文名称整理

热门文章

  1. HTML5新增的结构元素和网页元素
  2. 做产品引流如何设计引流诱饵?引流核心的步骤是什么?
  3. 白硕:背靠背知识协同——区块链与人工智能结合的新途径
  4. SAP MM部分常用增强-ME21N-MIGO-MB1A
  5. wps怎么免费导出简历_简历模板免费下载wps手机,简历模板免费下载wps可编辑
  6. 【暴力枚举】二进制枚举-幼儿园买玩具
  7. Xcode 更改默认版本 xcode-select
  8. pika安装以及测试
  9. python中pack什么意思_Python struct.pack如何理解其原理
  10. 关于archlinux的安装