当前的XHR实现是否利用HTTP / 2?

时间:2015-09-15 17:32:33

标签: javascript xmlhttprequest http2

这可能只是突出了我的一些误解,但我很好奇:

如果你有一台HTTP / 2服务器正在运行并希望在浏览器中向服务器发出XHR请求,那么XHR会自动利用标头中的性能优化吗?

或者它会忽略该功能并作为HTTP请求运行吗?如果是这样,我们可以做些什么来在我们的请求中使用新的优化措施吗?

1 个答案:

答案 0 :(得分:19)

你不需要做任何事情。如果服务器支持HTTP / 2,XHR将使用它。标题压缩等将自动启动。

测试它:

  • 在Chrome中打开HTTP / 2网站。您可以使用我们的to also checkout some cool stuff regarding HTTP/2 PUSH, AngularJS and RequireJS
  • 打开Devtools面板(F12),然后打开网络面板,然后单击XHR。右键单击标题行,确保您拥有"协议"列已启用。
  • 你应该看到" h2"在所述专栏中(在我们的例子中,AngularJS正在通过XHR加载模板)。
  • 当你在那时,请注意服务器推送了XHR请求。被推动的反应的故事迹象是"临时标题"而不是请求标题,以及异常小的#34;下载" "等待"倍。我们甚至在响应中添加了一个额外的标题(x-shimmmercat-note:push-stream)。浏览器采用了此请求,因此 XHR请求不仅会使用HTTP / 2(如果可用),而且在某些情况下可能会使用推送资源