繁体   English   中英

提供小型静态图像的最佳方法是什么?

[英]What is the best way to serve small static images?

现在我基于64编码它们并使用数据uris。 这个想法是,这将以某种方式降低浏览器需要做出的请求数量。 这个桶装水吗?

一般来说,提供图像的最佳方式是什么? DB,来自FS,S3?

我对python和基于java的答案最感兴趣,但欢迎所有人!

我肯定会看看CSS Image Sprites, 这里这里的体面报道。

这个概念非常简单,将您的图像合二为一,只显示您需要的切片作为CSS背景。 这使您可以将来自许多图像的HTTP请求数量减少到一个或多个(根据需要将精细图像中的小图像分组)并且要维护的图像更少,CSS中只有一些背景坐标。

此外,与任何静态资源一样,请确保正确设置了缓存标头 ,因此客户端不会不必要地获取它。

Nicholas C. Zakas编写了一个工具 ,可以更容易地在css中使用数据URI,还包含一个IE6 / 7兼容的修复程序:

CSSEmbed还支持MHTML模式,以使IE6和IE7兼容的样式表使用类似于数据URI的内部图像。

现在我基于64编码它们并使用数据uris。 这个想法是,这将以某种方式降低浏览器需要做出的请求数量。 这个桶装水吗?

这绝对是一个坏主意:它不适用于IE <8 ; 它使服务的数据量增加了33%; 它使图像完全不可缓存。

我会说你应该将图像作为正确的图像资源提供 - 无论是作为单独的文件,还是作为@Nick建议的CSS精灵,都将取决于它们的数量和大小。

数据网址肯定会减少对服务器的请求数量,因为浏览器不必在单独的请求中请求像素。 但并非所有浏览器都支持它们。 你必须做出权衡。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM