我正在尝试为我的服务制作 http2 实现。我将 Jetty 9 与 ALPN jar 一起使用,并根据文档编写了代码。服务器启动了,我可以访问 url http://localhost:8443/myurl来自 chrome 版本 51。我正在使用 chrome 扩展 HTTP2/SPDY Indicator 来查看 HTTP2 请求,它表明请求是 http2。当我尝试通过 angularjs 使用 Ajax 调用服务时,我看不到已进行 HTTP2 调用的扩展报告。
是否是扩展无法检测到 Ajax 调用的问题。或者我是否需要手动设置任何 HTTP2 特定 header 才能激活 http2 调用。
感谢任何帮助。
提前致谢。
最佳答案
Chrome HTTP/2 Indicator 扩展报告顶级文档是否已使用 HTTP/2 下载。
该分机不报告 XHR 调用。
如果您在 Chrome 浏览器中浏览 chrome://net-internals/#http2,您将看到活跃的 HTTP/2 连接,单击您的域的连接将提供更多信息,包括 XHR 调用。
或者,您可以通过启用 org.eclipse.jetty.http2
类别来启用 HTTP/2 的服务器端 DEBUG 日志记录,您将看到 XHR 调用到达服务器.
你不需要做任何特殊的事情或在你的 XHR 调用(或那些 Angular 为你做的那些)上添加任何 HTTP/2 头:浏览器知道它是否可以使用 HTTP/2,如果可以它会使用它。
关于javascript - 从 angular/javascript 应用程序进行 http2 ajax 调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37788371/