performance - 通过主机名传播静态文件

标签 performance http dns pagespeed

作为通过 PageSpeed Insights 等工具进行例行扫描的一部分,我决定将图像放在不同的主机上以改进并行下载。图像现在从这样的子域提供:

http://n26eh5.i.example.com/img/something.png

其中 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/

相关文章:

performance - 三个js的表现

javascript - URL 为 AJAX 请求在 jQuery 中编码一个字符串

http - HTTP/1.0 状态行是否区分大小写?

linux - 升级到 Bind 9.12 后 Windows 客户端损坏

linux - Postfix 电子邮件转发

regex - 从 VB.Net 中的字符串获取协议(protocol)和域

jquery - 加快 HTML 网站速度的方法?

c++ - 使用 boost 映射包含的结构

php - 在MySQL数据库中创建PHP缓存系统?

php - HTTP header 阻止浏览器加载页面?