通过 JavaScript 加载 SPDY 和延迟图像

Posted

技术标签:

【中文标题】通过 JavaScript 加载 SPDY 和延迟图像【英文标题】:SPDY and lazy image loading via JavaScript 【发布时间】:2013-06-08 19:36:24 【问题描述】:

我想通过 javascript 加载一堆图像并将它们插入到我的页面中。当 Web 服务器支持 SPDY 时,是每个图像生成一个新请求还是将所有图像请求捆绑到一个 SPDY 请求中?是否有一些方法可以做到这一点(例如在 DOM 中创建 img 标签)而其他方法没有?浏览器行为是否存在差异?

【问题讨论】:

【参考方案1】:

如果您想从 JavaScript 加载的图像是静态的(即不是动态生成的,或者是由服务器动态选择的),那么支持 SPDY Push 的 SPDY 服务器可以将这些图像与主要资源一起提供(通常是加载 JavaScript 的 html 页面)。

Jetty 是少数支持以透明方式为应用程序推送 SPDY 推送的服务器之一。 您可以查看有关 Jetty 的 SPDY 支持的文档here,以及有关 SPDY Push 配置详细信息的博客here(官方文档即将发布)。

Here你可以找到一个视频来展示 SPDY Push 带来的不同。

如果您没有使用启用 SPDY Push 的服务器,那么每个图像都会向服务器生成一个新请求(除非它们被浏览器从以前的请求中缓存)。

Chrome 已经支持 SPDY Push,Firefox 很快就会支持。

【讨论】:

我要加载哪些图像是在客户端动态决定的,所以我无法推送:(

以上是关于通过 JavaScript 加载 SPDY 和延迟图像的主要内容,如果未能解决你的问题,请参考以下文章

浅析SPDY

SPDY - 没有 TLS?

使用 HTTP2/SPDY 时我应该缩小和连接 javascript 和 CSS 吗?

SPDY Web 服务器基准测试工具

延迟加载 JavaScript 和内联 JavaScript

延迟加载和解析 PrimeFaces JavaScript 文件