我知道这个问题可能听起来有点疯狂,但我坚持认为也许有人能想出一个聪明的主意:
假设您在一个 HTML 页面上有 1000 个缩略图。
图像大小约为 5-10 kb。
有没有办法在一个请求中加载所有图像?以某种方式将所有图像压缩到一个文件中……</p>
或者你对这个主题有什么其他建议吗?
我已经知道的其他选项:
CSS 精灵
延迟加载
设置过期标头
跨不同主机名下载图像
鉴于您的情况,我只能想到另外两个选择:
我认为您最好的选择是结合延迟加载、使用过期标头进行缓存以及提供来自多个主机名的图像。
如果图像可以按逻辑分组,那么除了上述所有内容之外,CSS sprites 也可能对您有用。例如,如果您的缩略图是针对某一天上传的图像...您可以为每一天创建一个文件,然后将其缓存在用户浏览器上。
这是通过使用所谓的 CSS sprite 来完成的。包含所有其他图像的单个图像,其中包含 css 选择的 html 中所需的特定部分。
听起来您想要 SPDY 的server push之类的东西。当客户端请求 HTML 页面(或第一张图片)时,SPDY 允许服务器推送其他资源,而无需等待更多请求。
当然,这仍然是实验性的。
您可以尝试使用 imagemagick 的montage命令来创建单个图像。