Asp.net mvc 捆绑与使用JSDeliver(CDN)的对比?

Asp.net mvc 捆绑与使用JSDeliver(CDN)的对比?,asp.net-mvc,asp.net-mvc-4,bundling-and-minification,Asp.net Mvc,Asp.net Mvc 4,Bundling And Minification,我最近遇到了以下问题 http://www.jsdelivr.com 这是一个承载许多js文件的cdn。但我很困惑,我打算在asp.net mvc中使用捆绑来捆绑许多js文件,并将其存储为1个js文件,并与我的内容一起托管 但是我现在可以从上面的CDN下载了 这是推荐的,假设我有8个js文件,我将它们打包成1个js文件,这实际上是对浏览器的一个调用,但对我的网站来说 或者使用CDN,但这将是8个调用(8个js文件),但当然通过离您所在国家最近的CDN托管 哪一个是可取的?您应该评估: 1)是

我最近遇到了以下问题

 http://www.jsdelivr.com
这是一个承载许多js文件的cdn。但我很困惑,我打算在asp.net mvc中使用捆绑来捆绑许多js文件,并将其存储为1个js文件,并与我的内容一起托管

但是我现在可以从上面的CDN下载了

这是推荐的,假设我有8个js文件,我将它们打包成1个js文件,这实际上是对浏览器的一个调用,但对我的网站来说

或者使用CDN,但这将是8个调用(8个js文件),但当然通过离您所在国家最近的CDN托管

哪一个是可取的?

您应该评估:

1)是否要确保用户的延迟较低?


然后,这取决于您的客户/用户所在的位置。如果与您的服务器相比,他们对jsdeliver.com的延迟更低,我建议您使用他们的服务,因为这将加快他们的加载时间。但请记住,大多数浏览器只能处理一些4-6并行下载,因此请确保在这两个选项之间进行经验测量-即使延迟更高,捆绑解决方案也可能更快

2)是否要卸载服务器负载?


通过引用他们的服务器,您将减少来自服务器的传出流量。如果您希望服务器上的负载很重,您可能希望使用他们的服务来卸载数据和CPU负载。如果您在EC2上托管,这可能是一个经济高效的解决方案…

在HTTP/2中,您不应该缩小您的外部资源。独立加载所有文件,HTTP/2将共享相同的HTTP连接,并在一个连接中下载所有文件。这和捆绑一样


因此,现在,选择JSDeliver,不要捆绑文件。

“大多数浏览器只能处理每台主机4-6次并行下载”**感谢您的精彩解释。这是HTTP2中的一个变化,如果文件位于同一个域中,则所有文件都可以在一个请求中下载