HTTPS 和外部 (CDN) 托管文件?

Posted

技术标签:

【中文标题】HTTPS 和外部 (CDN) 托管文件?【英文标题】:HTTPS and external (CDN) hosted files? 【发布时间】:2011-04-07 01:27:38 【问题描述】:

我有一个页面引用了几个外部托管的 javascript 文件 - 即 jQuery on Google 和 YUI using YUI Loader。

问题是当我通过 HTTPS 访问页面时,浏览器会抱怨混合的不安全内容,因为外部 javascript 文件是使用 http 而不是 https 访问的。

有什么好的方法来处理这个问题,用 HTTPS 访问外部的 jQuery 和 YUI Loader 对象?

【问题讨论】:

【参考方案1】:

假设 CDN 提供商有 https 版本,您可以使用协议相对 URL。

例如,而不是:

http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js

...你可以使用:

//ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js

浏览器将使用页面的协议来尝试获取文件。在非安全页面上,http.在安全页面上,https。

Google 还通过其 CDN 提供 YUI Loader。所以对于 YUI 这很好用:

//ajax.googleapis.com/ajax/libs/yui/2.8.0/build/yuiloader/yuiloader-min.js

...在 http 和 https 上下文中。

【讨论】:

很好,没想到你可以放弃协议。会试一试。【参考方案2】:

Google 在 https 下托管它们

https://ajax.googleapis.com/ajax/libs/yui/2.8.1/build/yuiloader/yuiloader-min.js

https://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js

【讨论】:

以上是关于HTTPS 和外部 (CDN) 托管文件?的主要内容,如果未能解决你的问题,请参考以下文章

我可以使用 sass 导入外部托管的文件吗?

CDN 或外部 JavaScript 文件如何在网站中工作?

外部厂商公开工具

用于更新和插入的 Hive 托管与外部表

如何使用 webpack 在 js 文件中加载 CDN 或外部供应商 javascript lib,而不是在 html 文件中

Vue项目优化-通过externals加载外部CDN资源