首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >引用外部脚本和资源而不是“本地”下载到服务器上是否安全?

问引用外部脚本和资源而不是“本地”下载到服务器上是否安全?
EN

Stack Overflow用户
提问于 2021-07-05 20:42:56
回答 1查看 426关注 0票数 2

当我看到这种常见的做法时,我感到很困惑。但是,由于网络开发不是我的主要领域,我不知道它是否是糟糕的实践,有真正的优势,或只是不重要。

例如,我发现很多这样的情况:

代码语言:javascript
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>

<script src="https://aframe.io/releases/1.2.0/aframe.min.js"></script>

<script src="https://cdn.jsdelivr.net/gh/donmccurdy/aframe-extras@v6.1.1/dist/aframe-extras.min.js"></script>

<script src="https://rawgit.com/rdub80/aframe-gui/master/dist/aframe-gui.min.js"></script>

<link rel="stylesheet" href="https://unpkg.com/purecss@2.0.3/build/grids-responsive-min.css">

我经常提到的优点是缓存。例如,如果用户导航到使用jquery的页面,则不必再为其他网站获取该页面。

不过,我认为这是在站点中引入了许多外部依赖项。任何一个托管站点/CDN都会下降或变慢,而您的站点就会下降。我个人认为这是一个巨大的缺点,远远超过缓存的好处。

我看到的另一个大问题是引用master而不是特定的版本。使用远程站点上的任何更新,您的站点可能变得不可用。

何时应该引用外部CDN,何时应该在服务器上下载本地副本?

EN

回答 1

Stack Overflow用户

发布于 2021-07-06 05:58:02

是的,很安全。特别是对于著名的CDN服务。您将从缓存中获益。另外,CDN将通信从用户引导到最近的计算机,从而提高下载速度和降低延迟。您可以免费获得基础设施,复制起来非常昂贵。

一个著名的CDN倒闭是很罕见的。可能比一般的Web托管服务更罕见。

发布版本的URL永远不会改变。在某些情况下,它们在技术上是可以的,但在实践中却不会发生,除非项目管理不善,或者在非常特殊的情况下(例如,关键缺陷的热修复)。

https://aframe.io/releases/1.2.0/aframe.min.js总是指向同一个文件。

我绝不会将您的代码指向主程序,而是将其锁定到特定的提交(有关链接请参见提交列表 )。例如:https://cdn.jsdelivr.net/gh/aframevr/aframe@52136de6a863f32d8cb806b65c3c3223f6b0f8a3/dist/aframe-master.min.js

Git提交是不可变的,构建永远不会改变。

您可以始终获取所有依赖项,将它们打包到一个文件中,并自己托管它们。有时是必要的:例如,在具有外部访问限制的网络中服务的Web应用程序。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68261924

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档