看到各大网站图片之类都是用的独立域名,而不是主站的二级域名;网上查了下,说这样有几个好处:
1、因为浏览器对域名有并发限制,即使用的是二级域名对于浏览器来说也是同一个域名,这样比如并发是 4,那么 8 个链接就是 2 秒,而如果 8 个链接分开 2 个域名就可以 1 秒打开
2、cookie 对于二级域名也有污染,会造成二级域名也带上 cookie 传送,
但是有人说这个影响不大,请问大家怎么看呢?
1
gwy15 2019-12-20 17:35:51 +08:00
只说并发限制: 2019 年了,求求你上 http2 吧
|
3
Junewah OP |
4
Junewah OP |
6
Buges 2019-12-20 18:27:03 +08:00 1
|
7
shansing 2019-12-20 18:37:33 +08:00
赞 #6。并且就算是 example.com ,只要你不指定域名,也不会影响到 *.example.com 。
|
8
shansing 2019-12-20 18:45:37 +08:00
我能想到的在考虑 HTTP/2 和 Cookie 的情形下,将静态资源分离出来的主要原因是 CDN。也许有些时候用独立域名放静态资源,会更方便。比如独立域名可以使用不同的 NS (有不同的计费成本,或者更强的 GeoDNS,或者 CDN 商硬性要求修改 NS )。在国内环境下,还可以合理规避备.案成本。
另外,可以避免“信任污染”。example(dot)com 也许被大家认可为可信任域名,但 example(dot)net 承载的静态资源可能是用户上传的,不应该放到 *(dot)example(dot)com 也变成可信。以后即使 example(dot)net 被“红标”,也不危及 example(dot)com。 |
9
czb 2019-12-20 20:17:44 +08:00 via Android
我们是分离的 静态走的 Cloudflare 主域名用的 Cloudfront 价钱实惠 而且缓存规则也好写 唯一不好的是 Cloudflare 会带 Cookies
|
10
eason1874 2019-12-20 21:25:56 +08:00 6
1. 并发限制现在有了 HTTP/2 不成问题了。
2. Cookie 污染还是有的,因为还是会有一些 Cookie 需要放在根域名上。比如 Google 有多个产品用 google.com 的子域名,那么 Google 发限流令牌直接发到 .google.com 根域名就可以让所有子域名都用上,这样是最好的,每个子域单独发浪费资源、影响 UV 统计、影响控流效果,要通过 SSO 方式统一 UV 就更浪费了。 3. 跨产品静态资源复用也会让人倾向用独立域名。比如 Gmail 和 Youtube 使用了一样的字体资源,他们使用了同一个资源链接,用户只要访问过其中一个再访问另一个时就有缓存了,不需要再加载了,优化体验也节省资源。这个资源链接最好就是独立的资源域名,而不是 google.com 或者 gmail.com 或者 youtube.com 这种有品牌倾向的子域,事实上也是用了独立域名 gstatic.com 作为资源域名。 4. 如果存放用户上传内容,可能也得有 #8 的考虑,考虑到内容风险单独给用户内容使用一个域名。 |
11
eason1874 2019-12-20 21:30:42 +08:00 1
总的来说,上了规模的网站最好用独立资源域名,小网站用不用就无所谓了。小网站几乎都是用服务商的 CDN,用的不是自己服务器带宽,因为 Cookie 浪费一点带宽流量可以忽略不计了。
|
12
Junewah OP 谢谢楼上的各位解答
|