通过https并发加载.js文件

时间:2010-02-09 22:37:27

标签: javascript https concurrency

我们正在考虑将我们的.js拆分为两个域,以便实现并发加载。

问题:我们可以a)为此目的使用子域吗?b)并发加载是否也适用于https?

例如,我们想要请求两个文件:

https://www.example.com/firstfile.js
https://subdomain.example.com/secondfile.js

可行?替代?

5 个答案:

答案 0 :(得分:3)

据我所知,它不起作用。脚本设置为阻止并行下载。原因是并行加载脚本会导致javascript中的竞争条件。缩小或按需加载是您的最佳选择。

答案 1 :(得分:3)

我认为你必须考虑网络的延迟(这是一种浪费的时间,为每次往返的电话加起来)。延迟是杀死HTTP呼叫响应的原因。

就个人而言,我按照趋势来减少http电话的数量 我将所有文件合并为一个(+ minimize + gzip)

答案 2 :(得分:1)

脚本引起的问题是它们会阻止并行下载。 HTTP / 1.1规范建议浏览器每个主机名并行下载不超过两个组件。如果您从多个主机名提供图像,则可以并行执行两次以上的下载。但是,在下载脚本时,即使在不同的主机名上,浏览器也不会启动任何其他下载。 (source

听起来有问题。

答案 3 :(得分:0)

a)是的。使用document.domain可以避免同源策略问题。

b)我不知道,但我想不出有什么理由不应该这样。

答案 4 :(得分:0)

“快速网站”或“更快的网站”(我建议您阅读)一书中提供的替代方案建议使用javascript函数/方法以图形方式加载javascript文件,该函数/方法将子节点附加到元素。

您可能希望对该主题进行一些研究,但这是一个您可能想要考虑的好习惯。

的问候,