Do current XHR implementations take advantage of HTTP/2?(当前的 XHR 实现是否利用了 HTTP/2?)
问题描述
这可能只是突出了我的一些误解,但我很好奇:
This may just highlight some misconception of mine, but I was curious:
如果您正在运行 HTTP/2 服务器并希望在浏览器中向服务器发出 XHR 请求,XHR 会自动利用标头中的性能优化以及它提供的性能优化吗?
If you had an HTTP/2 server running and wanted to make XHR requests in the browser to the server, would XHR automatically take advantage of the performance optimisations in headers and such that it provides?
还是会忽略该功能并作为 HTTP 请求运行?如果是这样,我们可以做些什么来在我们的请求中使用新的优化?
Or would it ignore that functionality and operate as an HTTP request? If so, are there any things we can do to use the new optimisations in our requests?
推荐答案
你不需要做任何事情.如果服务器支持 HTTP/2,XHR 将使用它.标头压缩等会自动启动.
You don't need to do anything. If the server supports HTTP/2, XHR will use it. Header compression and such will kick in automatically.
测试一下:
- 在 Chrome 中打开一个 HTTP/2 网站.您可以使用我们的 来查看一些关于 HTTP/2 PUSH、AngularJS 和 RequireJS 的酷东西.
- 打开 Devtools 面板 (F12),然后打开网络面板,然后单击 XHR.右键单击标题行,并确保您拥有协议";列已启用.
- 您应该会看到h2";在上述列中(在我们的例子中,AngularJS 正在通过 XHR 加载模板).
- 此时,请注意服务器推送了 XHR 请求.推送响应的标志是临时标头".而不是请求标头,以及异常小的下载"和等待"次.我们甚至在响应中添加了一个额外的标题 (x-shimmmercat-note:pushed-stream) .浏览器采用了这个请求,因此XHR 请求不仅会使用 HTTP/2(如果可用),而且在某些情况下可以使用推送资源.
这篇关于当前的 XHR 实现是否利用了 HTTP/2?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:当前的 XHR 实现是否利用了 HTTP/2?


- Quasar 2+Apollo:错误:找不到ID为默认的Apollo客户端。如果您在组件设置之外,请使用ProvideApolloClient() 2022-01-01
- 失败的 Canvas 360 jquery 插件 2022-01-01
- 如何使用 JSON 格式的 jQuery AJAX 从 .cfm 页面输出查 2022-01-01
- Css:将嵌套元素定位在父元素边界之外一点 2022-09-07
- Flexslider 箭头未正确显示 2022-01-01
- Fetch API 如何获取响应体? 2022-01-01
- CSS媒体查询(最大高度)不起作用,但为什么? 2022-01-01
- 400或500级别的HTTP响应 2022-01-01
- addEventListener 在 IE 11 中不起作用 2022-01-01
- 使用RSelum从网站(报纸档案)中抓取多个网页 2022-09-06