首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >减少1000个图像的HTTP请求?

减少1000个图像的HTTP请求?
EN

Stack Overflow用户
提问于 2010-12-28 04:54:43
回答 4查看 6.6K关注 0票数 7

我知道这个问题听起来有点疯狂,但我很难让别人想出一个聪明的主意:

想象一下,在一个HTML页面上有1000个缩略图。

图像大小约为5-10 kb.

是否有方法在一个请求中加载所有图像?以某种方式将所有图像压缩到一个文件…中

或者在这个问题上你还有什么其他的建议吗?

我已经知道的其他选项:

CSS精灵

懒惰负载

设置过期报头

跨不同主机名下载图像

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2010-12-28 05:09:55

考虑到你的情况,我只能想到另外两种选择:

  1. 使用"data:“协议并将缩略图的base64编码版本直接回显到HTML中。我不建议这样做,因为这样您就不能在用户浏览器上缓存这些图像。
  2. 使用HTML5 5的将所有图像存储为记录,并将base64编码的图像数据作为BLOB存储在列中。一旦数据库下载到用户机器,使用Javascript循环遍历所有记录,并使用类似于jQuery的内容动态在页面上创建缩略图。使用此选项,您需要等到整个数据库在最终用户浏览器上完成下载之后,他们将需要一个相当现代化的浏览器。

我认为您的最佳选择是将延迟加载、带有过期头的缓存和提供来自多个主机名的图像结合起来。

如果图像可以逻辑地分组,除了上面的所有内容之外,CSS精灵还可以为您工作。例如,如果您的缩略图用于上传到特定day...you上的图像,则可以为每天创建一个文件,然后将其缓存在用户浏览器上。

票数 6
EN

Stack Overflow用户

发布于 2010-12-28 05:13:40

这是通过使用所谓的css来实现的;一个包含所有其他图像的单一图像,以及CSS选择的html中所需要的特定部分。

参见http://css-tricks.com/css-sprites的一个教程

票数 2
EN

Stack Overflow用户

发布于 2010-12-28 05:00:28

听起来你想要的东西像SPDY的服务器推送。当客户端请求HTML页面(或第一个图像)时,SPDY允许服务器推送其他资源,而无需等待更多的请求。

当然,这还只是实验性的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4543743

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档