【问题标题】:Concurrent Downloads并发下载
【发布时间】:2010-11-09 13:04:17
【问题描述】:
我一直在监视 Firebug 的 Net 面板,并注意到在下载任何其他资源之前必须先下载 HTML。我想这是有道理的,因为其他资源是在 HTML 中定义的。有没有办法可以在 HTML 下载期间下载其他组件?
【问题讨论】:
标签:
http
firebug
pagespeed
web-optimization
【解决方案1】:
调试 101:调试时看到的与不查看时看到的不同。
大多数浏览器在下载 HTML 的同时开始解释它,并同时开始下载附加资源。 Firebug 不是看到这种情况发生的好地方,请改用 HTTPFox。
现在,回答您的问题:在下载 HTML 时,您无需执行任何操作来让浏览器下载其他组件,它会为您解决这些问题。
【解决方案2】:
否 - 浏览器首先需要一个可解析的 HTML 文档才能开始下载脚本、图像等。
您可以通过将非 HTML 元素移动到不同的子域来加快下载速度:浏览器具有每个主机的连接数限制,可以通过使用子域来规避。此外,您可以压缩/缩小您的 CSS/JavaScript 文件以减小它们的大小。
【解决方案3】:
有可能创建一个小的 HTML 文件,然后通过各种类似 AJAX 的调用发出多个请求以填充页面的其余部分,但如果有人禁用了 JavaScript,那么页面可能看起来很糟糕。从某种意义上说,这是取出一些原始 HTML 内容并单独下载,这可能是一个好主意,也可能不是一个好主意。从某种意义上说,虽然这会使用更多的网络资源,因为在这种情况下会有很多请求来完全加载页面,但这是一个可接受的权衡问题。