我知道大多数浏览器都支持http / 2来加载页面,但这是否意味着我可以在使用XmlHttpRequest进行api调用时利用它?
更具体地说,我的问题是,如果我使用XmlHttpRequest进行2次调用来获取数据,是否确保它们都使用下面的相同tcp连接?我读过的任何文档都没有指明关于httpd支持XmlHttpRequest的任何内容,或者我如何显式打开http2连接,利用它来做一些调用,然后关闭连接。
java中的okHttp,jetty和其他库提供了支持它的客户端库。但是javascript支持还不清楚。
答案 0 :(得分:5)
当浏览器和服务器都支持HTTP / 2时,它将用于来自浏览器的所有呼叫 - 包括XHR。您无需在javascript中执行任何特殊操作即可启用此功能。这是关于HTTP / 2实现方式的一个重要方面。
如果您正在询问如何确保连接处于打开状态,因为您要重用连接,那么http/2 spec会说:
HTTP / 2连接是持久的。为了获得最佳性能,它是 预计客户端不会关闭连接 确定不需要与服务器进一步通信 (例如,当用户离开特定网页时) 或直到服务器关闭连接。
...
鼓励服务器保持打开的连接 可能但允许在必要时终止空闲连接。