我有dotnet核心服务器,我想获得jQuery和引导文件。
我的问题是:在生产梯度软件上,我是否可以使用硬拷贝,服务器将每天从Microsoft CDN更新文件的硬拷贝,或者我是否应该遵循警告,让客户直接从CDN中获取副本?
使用此方法时是否存在安全问题?
https://learn.microsoft.com/en-us/aspnet/ajax/cdn/overview
警告:生产应用程序不应硬性依赖CDN资产。应用程序应该测试引用的CDN资产,并在CDN不可用时使用备用资产。
发布于 2019-01-03 06:55:31
使用CDN并不是一种安全风险,但这确实意味着如果CDN提供者出现故障,您的应用程序将无法正常工作(不应该经常发生,但可能发生)。
关于您为什么要使用CDN,或者不想使用CDN,我将使用消息灵通的人
如果您决定避免使用CDN,只需转到您拥有的CDN链接,复制文本,保存到文件中,并将该文件包含在应用程序中。指向指向此文件的所有链接,而不是CDN。
这不会像您所要求的那样“自动更新”文件,但是IMHO自动更新依赖项(比如jQuery )是一个非常糟糕的主意,因为每天这样做几乎肯定会在某个时候破坏应用程序。您使用的其他库取决于特定版本的内容,在发布之前,应该谨慎地更改这样的依赖关系,并对其进行彻底的测试,而不是通过自动化的过程。
FYI,你所说的CDN文件不应该改变。也就是说,https://ajax.aspnetcdn.com/ajax/jQuery/jquery-3.3.1.min.js永远不会改变。CDN文件中的文件内容应始终保持不变。如果库被更新,将创建一个新名称的新CDN文件(可能有更新的版本号),但旧文件仍然存在,具有旧的名称和相同的内容。
关于这一点:
警告:生产应用程序不应硬性依赖CDN资产。应用程序应该测试引用的CDN资产,并在CDN不可用时使用备用资产。
基本上,这似乎是在说,“不要在应用程序只链接到CDN文件的地方设计它,如果文件不存在,应用程序就会失败。相反,链接到CDN,但是您的代码应该检查CDN文件是否已加载,如果没有,尝试从另一个位置加载它。”
就我个人而言,在大多数情况下,我更喜欢所需文件的本地副本(最好是小型化的),并且避免使用CDN,除非我正在构建一些特定需要保持项目总规模尽可能小的东西。
https://stackoverflow.com/questions/53999287
复制相似问题