在单独的子域上托管图像

时间:2009-10-06 20:14:48

标签: image hosting subdomain

我的公司拥有大约30个网站,它们共享相同的代码库并重复使用许多相同的图像。现在,所有网站的图像都托管在一个域中,然后每个其他网站都必须链接到这些图像。

即, www.example.com/images/hello.jpg

在www.example2.com上我们有类似的东西: <img src="http://www.example.com/images/hello.jpg" />

最近有人告诉我,我应该将所有这些共享/静态图像放在子域上,但我没有看到它的优点。我听说可能会有轻微的速度增加,但我也听说它会使事情复杂化。有人可以详细说明吗?

3 个答案:

答案 0 :(得分:16)

它的一些优点:

  • 单独的域名可以防止您的域名Cookie被发送到每个不需要的图片请求。减少每个请求的带宽开销。
  • 大多数浏览器一次只会向特定域发出一定数量的HTTP请求,因此从第二个域提供图像和其他静态内容可能会使HTTP请求的数量一次增加一倍。
  • 您可以设想使用不同的,重量更轻的网络服务器,如nginx / lighttpd来提供静态内容。

缺点:

  • 管理它。
  • 两次DNS查找,而不是一次。

答案 1 :(得分:3)

当浏览器请求CSS和Javascript等静态文件时,它通常会限制与给定服务器/子域的连接数。将静态文件放在不同的域下允许更多的同时下载。

如果设置正确,则不同的子域可能只是您的网络服务器上的目录。取决于你的config-file-fu。

答案 2 :(得分:3)

这包含在几个Stackoverflow播客中。

一个问题 - 如果您正在提供https页面,用户可能会收到有关安全和不安全项目混合的警告。