media.example.com
或s2.static.example.com
这样的子域中插入静态文件(CSS,图像,JavaScript,ECC)?有什么好处?为什么不只是像
example.com/media/
这样的目录?#1 楼
我看到至少三个可能的(良好)原因:使用另一台机器提供静态内容
包括一些CDN
使用其他Web服务器提供静态内容
更轻便,更快的功能
不需要完整的PHP / .NET / JAVA服务器即可提供静态内容!
/>
使用其他域名意味着您将没有在主域上使用的cookie。
这意味着HTTP请求将更小
如果您的点击量很大,那可以数一数(例如,查看这篇文章:Performance Research,第3部分:Cookie崩溃时)。如果我没记错的话,在StackOverflow上做了什么
#2 楼
我认为主要的原因是使用cookie。Cookie将与每个请求一起发送,假设您有2kb cookie数据并在页面上加载20张图像。 />那是额外的40kb数据,再乘以一个月的浏览量,您可能会惊讶于无用的东西上损失了多少带宽,带宽不是免费的...
此外,在顶级域中设置的Cookie会通过对任何子域的所有请求发送,在这种情况下,甚至建议您购买一个新域,以在Cookie中托管其中的静态组件。免费域。例如,StackOverflow使用
sstatic.net
,Yahoo使用yimg.com
,YouTube使用ytimg.com
,Amazon使用images-amazon.com
,等等。看一下这个:
对组件使用无Cookie域
#3 楼
要添加到上面的一些答案中:一些Web浏览器只能从任何域同时下载两个文件。这些较旧的浏览器可以并行下载更多文件。#4 楼
...对
组件使用无cookie域。服务器
对那些
cookie没有任何作用。因此,它们没有充分的理由只会创建网络流量。您应该
确保使用无cookie请求来请求静态组件。
创建一个子域并在其中托管所有
静态组件。
此建议摘自Yahoo的“加速网站最佳实践”。
评论
这不会添加其他答案未说的任何内容。您甚至都没有说为什么请求量较小(因为没有cookie),所以这个答案比许多其他答案都要糟糕。
–斯蒂芬·奥斯特米勒(Stephen Ostermiller)
17年9月10日在12:19