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