javascript - sha包括本地 vs 远程javascript库

  显示原文与译文双语对照的内容
55 5

我使用的是 jsSHA 1.3.1,我在这里下载了它,并在我的本地主机上使用了学习项目。它给出的结果比我通过引用远程获得的副本稍有不同:

<script src="https://raw.github.com/Caligatio/jsSHA/master/src/sha1.js"></script>

由于 @Andreas 的出色答案,远程复制对我来说很好。

但这给了我一个新的问题:包含引用远程js库的拷贝 vs的原理是什么?就像'vendoring'库一样,从代码中的后续更改中隔离我的应用程序?

时间:原作者:0个回答

119 0

如果你的应用程序在网上可用,你应该考虑使用一个已知的外部 URL 。

<script type="text/javascript"
 src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js"
</script> 

这个例子 below 从谷歌服务器获得了jquery的缩小版本。

  • 这里方法获得的好处来自缓存:

    • 你不希望第一次访问潜在用户的网站速度慢而且令人失望。如果你的第一次访问我的网站使用了这个URL的jQuery,她的浏览器可以能已经经缓存它。

    • 使用不可以变版本的资源( 。jquery/1.8.0 而不是像 jquery/current这样的东西) 都可以以帮助开发人员不必跟踪他们的生产代码中的更改。

    • 如果需要下载资源和 URL,可以能会获得较低的延迟,因为资源可以能从服务器接近用户网络。示例中的URL托管在Google库上,这些库是一个 CDN 。有关更多信息,请参见 https://developers.google.com/speed/libraries/devguide

  • 如果你在服务器上下载资源,你也可以在服务器上加载资源,因为资源不在你自己的服务器上,因此你可以获得更好的客户端资源加载并行性。

  • 如果你的internet广域网应用程序是安全关键的,你必须保持尽可以能多地管理( 而且 static 不可变或者几乎不可变的资源相对容易管理) 。

    • 如果通过HTTPS运行的银行应用程序的依赖于Google服务器的HTTP,那么它们都会通过客户端。恶意客户端脚本不能做的事情非常少。

  • 如果在本地访问应用程序,那么应该将它的包括在你的应用程序中,因为性能( 在延迟方面和带宽方面,访问服务器要比访问一些远程服务器要快) 和可靠性。
原作者:
...