HTTP/2使多路连接成为可能,消除了需要向服务器建立多个连接的需求。通过单一连接,可以将许多独立的图像发送到客户端。这消除了以前的图像精灵模式,即将许多图像合并成一个,并使用CSS将其分开的方法。
我很好奇在HTTP/2世界里,图像精灵是否仍然会更快。如果是这样,在什么情况下呢?
我很好奇在HTTP/2世界里,图像精灵是否仍然会更快。如果是这样,在什么情况下呢?
关于HTTP/2的详细介绍,可以在Rachel Andrew的文章中找到: https://www.smashingmagazine.com/2016/02/getting-ready-for-http2/
使用HTTP/2多路复用,服务器将读取许多小文件而不是读取单个大文件。如果服务器受到资源限制(例如某些物联网装置),则您可能能够找到一种情况,在这种情况下,最好让它进行单个大读取,而不是进行许多小读取,因为每个读取都会导致服务器操作系统潜在地执行许多与文件访问相关的操作。
在客户端方面,浏览器将管理许多小文件,而不是一个大文件。我可以想象用于当前精灵工作流程的代码路径已经得到了很好的调整和优化,因为它是如此常用。因此,新的许多小文件的情况可能会更慢,至少在一段时间内。