【发布时间】:2025-12-13 15:35:01
【问题描述】:
一些高流量网站似乎有几乎疯狂的精灵图像,几乎所有东西都在一张大图中。
这对于高流量网站与长期维护的难度有何不同?
我知道这可能有点像“一根绳子有多长”的问题,但我有兴趣了解人们从此类练习中获得的任何性能提升经验。
【问题讨论】:
-
不是问题的答案,但仍然可能有用=>
http://spriteme.org/
标签: html css performance sprite
一些高流量网站似乎有几乎疯狂的精灵图像,几乎所有东西都在一张大图中。
这对于高流量网站与长期维护的难度有何不同?
我知道这可能有点像“一根绳子有多长”的问题,但我有兴趣了解人们从此类练习中获得的任何性能提升经验。
【问题讨论】:
http://spriteme.org/
标签: html css performance sprite
我相信大部分开销来自简单地对图像提出请求。显然,下载图像会花费更多时间,但随着时间的推移,发起请求、等待响应以及下载每个图像会产生大量流量。压缩也是如此。
【讨论】:
通过使用 sprite,您可以减少来自服务器的 http 请求数量。
图片构成了绝大多数 http 请求,Yahoo 估计下载页面内容所需的大约 80% 的时间都浪费在了不必要的 http 请求上。
如果您使用 amazon.com 主页这样简单的东西,那么每次用户(没有存储缓存)访问其主页时,可能会下载超过 50 张图片。
如果您认为亚马逊每天必须有数百万用户访问他们的网站。
通过从所有图像创建精灵,用户只需下载一个文件而不是五十个。
减少服务器的响应时间并为最终用户改善结果。
【讨论】:
几年前,我为可能的最小尺寸 .GIF 做了一些数字 - 43 字节。为了发送那个 1x1 图像,有 246 字节的 HTTP 协议随它一起发回,更不用说原始请求至少有那么多(如果还有 cookie 则更多)。还有 TCP/IP 数据包开销。除此之外,还有往返时间。光速仍然是有限的,需要将其考虑在内,尤其是对于多个请求的开销。
简短的版本是,下载的项目越少,站点越快。即使最终的 sprite 图像大于所有图像的总和,您仍然可以通过减少开销和往返次数来获得实质性的胜利。
【讨论】: