使用Javascript延迟加载图像是否保留了HTTP2的好处?

时间:2016-09-30 20:22:51

标签: javascript image lazy-loading http2 multiplexing

我使用HTTP2加载我网站上的所有图片,并且在一些地方我也使用了jQuery插件的延迟加载,即只有在他们进入视口时才加载图片。

我的问题是,是否使用Javascript以这种方式加载图像否定了HTTP2的好处?它们不是一次一个地加载多个图像,而是一次一个地加载,或者一次加载几个,这感觉就像是回到了HTTP1。在通过JS加载资源时,浏览器是否仍然使用多路复用?

1 个答案:

答案 0 :(得分:1)

无论您是通过HTML标记(如<img>)还是通过Javascript(XHR或fetch API)加载资源或图片,浏览器都无关紧要。它仍将根据服务器的功能选择协议(HTTP / 1.1或HTTP / 2),而不是基于您用于请求资源的方式。

这也意味着通过Javascript加载任何内容,如果服务器支持,您将使用HTTP / 2和多路复用。当然,您可以利用HTTP / 2功能,例如只需创建单个TCP连接和标头压缩。但是,如果您的库一次只发出一个请求,则可能无法利用HTTP / 2来充分发挥它的潜力,因为只会使用一个HTTP / 2流。在这种情况下,检查库是否可以配置为一次加载多个并行资源可能是有意义的。