我应该将图像放在子域上以加快网站加载吗?

时间:2009-10-31 15:23:00

标签: php

我在某处读到浏览器只能向域上的资源发送一些并发请求。因此,如果我们在子域之间拆分资源或者可能是域,那么它会加速吗?

你尝试过像这样的东西吗?结果或问题是什么?

5 个答案:

答案 0 :(得分:6)

这绝对有帮助,但首先要从css sprites开始。另请注意,每个额外的域都需要DNS请求,因此会减慢速度!

请看雅虎的这篇精彩介绍: Performance Research, Part 4: Maximizing Parallel Downloads in the Carpool Lane

答案 1 :(得分:2)

如果您使用的是Cookie,那么我会使用其他域名并将其设置为不接受任何Cookie。你可以用css和javascript做到这一点。

http://sstatic.net/

答案 2 :(得分:1)

这是一种众所周知的优化技术,在某些情况下它可以提供帮助。与所有关于优化的事情一样,在知道瓶颈所在之前不要做任何事情。您需要衡量您的网站并修复导致网站速度变慢的问题。对于初学者,请使用YSlowPage Speed之类的内容。这两个扩展程序comeexcellent指导了如何使用它们以及如何进行这种优化调整 - 请务必阅读这些内容。

答案 3 :(得分:0)

限制的原因是停止浏览器超载一个特定服务器。因此,如果子域位于另一台服务器上,则会加快加载速度。如果一台服务器可以处理额外的负载或者有某种负载平衡,那么肯定会有所帮助。

添加没有开销的子域(例如静态内容的cookie)也可以提高性能,因为每个请求需要传输的数据更少。

答案 4 :(得分:0)

如果这样做,请考虑使用IP地址而不是DNS主机名来显示内嵌图像,JavaScript和CSS文件(http://1.2.3.4/file.png)。这避免了额外的DNS查找,这可能需要一两秒钟。如果您可以在配置文件中更改该IP地址,并且您可以控制或知道该IP地址何时更改,则使用DNS名称没有任何好处。

请注意,如果符合以下条件,则

  • 您无法控制或知道该IP地址何时会发生变化。
  • 您通过HTTPS投放(我不确定您是否可以从CA获取已签名的IP地址证书)。
  • 您需要使用基于DNS的负载平衡。