CDN资产、安全、生产的硬拷贝



我有dotnet核心服务器,我想获取jQuery和引导程序文件。

我的问题是:在生产毕业生软件上,我可以使用硬拷贝吗?服务器每天都会从Microsoft CDN更新文件的硬拷贝,还是我应该遵循警告,让客户直接从CDN获得副本?

使用此方法时是否存在安全问题?

https://learn.microsoft.com/en-us/aspnet/ajax/cdn/overview

警告:生产应用程序不应严格依赖CDN资产。应用程序应测试引用的CDN资产,并在CDN不可用时使用后备资产。

使用CDN不会带来安全风险,但这确实意味着如果CDN提供商停机,您的应用程序将无法正常工作(不应该经常发生,但可能发生)。

至于你为什么想或不想使用CDN,我会听从的知情人士

如果您决定避免使用CDN,只需转到您拥有的CDN链接,复制文本,将其保存到文件中,然后将该文件包含在您的应用程序中。将所有链接指向此文件,而不是CDN。

这不会像你要求的那样"自动更新"文件,但IMHO自动更新像jQuery这样的依赖项绝对是个坏主意,因为每天这样做几乎肯定会在某个时候破坏你的应用程序。您使用的其他库依赖于特定版本的东西,更改这样的依赖关系应该谨慎进行,并在发布前进行彻底测试,绝对不能通过自动化过程。

仅供参考,您所说的CDN文件永远不应该更改。这就是https://ajax.aspnetcdn.com/ajax/jQuery/jquery-3.3.1.min.js永远不会改变。CDN文件中的文件内容应始终保持不变。如果更新了库,将创建一个具有新名称(可能具有更新的版本号)的新CDN文件,但旧文件仍将具有旧名称和相同内容。

关于此位:

警告:生产应用程序不应硬依赖CDN资产。应用程序应测试引用的CDN资产,并在CDN不可用时使用后备资产。

基本上,这似乎是在说,"不要设计你的应用程序,它只是链接到CDN文件,如果文件不存在,你的应用就会失败。相反,链接到CDN,但你的代码应该检查该CDN文件是否已加载,如果没有,请尝试从其他位置加载。

就我个人而言,在大多数情况下,我更喜欢所需文件的本地副本(最好是缩小的),并避免使用CDN,除非我正在构建有特定需求的东西,以保持项目总规模尽可能小。

最新更新