作为通过 PageSpeed Insights 等工具进行例行扫描的一部分,我决定将图像放在不同的主机上以改进并行下载。图像现在从这样的子域提供:
其中 n36eh5
是文件的修改时间,非常适合缓存,因为它会在文件修改时立即自动更改。一石二鸟,对吧?
果然,我最终在并行下载方面获得了满分。
今天我在另一个站点上进行了测试。它现在告诉我 DNS 查询过多。
现在...我已将 *.i.example.com
设置为通配符虚拟主机,但 DNS 查找会成为问题吗?使用 DNS 缓存,它甚至是一个问题吗?毕竟,它只会在第一次被请求时获取该图像,之后每次都从缓存中加载它。
我应该寻求平衡,还是像现在一样继续使用通配符子域?
最佳答案
这个问题在 Ben Vinegar 的演讲 Re-evaluating Front-end Performance Best Practices 中提到 https://www.youtube.com/watch?v=yfDM4M6MC8E
从中得出的结论是,以这种方式使用超过 2 个主机名不是一个好主意,我从谈话中认为这样做根本不值得,因为很可能还有其他方法可以提高性能而且,如果您可能需要进行额外的编码才能使这项工作正常进行,我们应该尝试尽可能少地编写代码以找到解决方案。
他还说他可能应该回答这个问题,并为没有回答而感到难过。
关于performance - 通过主机名传播静态文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22642079/