【问题标题】:Concurrent Downloads并发下载
【发布时间】:2010-11-09 13:04:17
【问题描述】:

我一直在监视 Firebug 的 Net 面板,并注意到在下载任何其他资源之前必须先下载 HTML。我想这是有道理的,因为其他资源是在 HTML 中定义的。有没有办法可以在 HTML 下载期间下载其他组件?

【问题讨论】:

  • 感觉有点像你已经回答了自己的问题。浏览器需要检索所有标记并开始解析它,然后才能知道需要哪些其他资源。你的意思是如何优化这个过程,使用 Facebook 的 BigPipe [1] 之类的东西? [1]facebook.com/notes/facebook-engineering/…

标签: http firebug pagespeed web-optimization


【解决方案1】:

调试 101:调试时看到的与不查看时看到的不同。

大多数浏览器在下载 HTML 的同时开始解释它,并同时开始下载附加资源。 Firebug 不是看到这种情况发生的好地方,请改用 HTTPFox。

现在,回答您的问题:在下载 HTML 时,您无需执行任何操作来让浏览器下载其他组件,它会为您解决这些问题。

【讨论】:

    【解决方案2】:

    否 - 浏览器首先需要一个可解析的 HTML 文档才能开始下载脚本、图像等。

    您可以通过将非 HTML 元素移动到不同的子域来加快下载速度:浏览器具有每个主机的连接数限制,可以通过使用子域来规避。此外,您可以压缩/缩小您的 CSS/JavaScript 文件以减小它们的大小。

    【讨论】:

      【解决方案3】:

      有可能创建一个小的 HTML 文件,然后通过各种类似 AJAX 的调用发出多个请求以填充页面的其余部分,但如果有人禁用了 JavaScript,那么页面可能看起来很糟糕。从某种意义上说,这是取出一些原始 HTML 内容并单独下载,这可能是一个好主意,也可能不是一个好主意。从某种意义上说,虽然这会使用更多的网络资源,因为在这种情况下会有很多请求来完全加载页面,但这是一个可接受的权衡问题。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-10-24
        • 2020-04-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-10-05
        相关资源
        最近更新 更多