当我偶然发现 HTTP/2 时,我正在尝试找出提高 Web 应用程序性能的方法。在阅读它时,我了解到它有很多可以提高网站性能的功能。
说到它的实现部分,我发现您只需将浏览器升级到最新版本即可使用。由于我的浏览器已经是最新版本,我看到我的所有资源 - CSS、JS 和 HTML 文件都是通过 HTTP/2 提供的。但是,我使用 angularJS 进行的数据查询仍然使用 HTTP/1.1。这是我的问题。
如何让我的数据查询使用 HTTP/2 协议?我需要在标头中添加额外的参数吗?
HTTP/2 会放开浏览器每个域 6 个并发请求的限制吗?我可以发出 6 个以上的并行 ajax 请求吗?
我在客户端使用 angularJS。我的请求通过 Cloudflare 发送到由 Play Framework 提供服务的服务器。
如果客户端(浏览器)和 Web 服务器都支持 HTTP/2,则将使用它。您的前端 JavaScript 不需要任何区别 - 如果可以的话,浏览器将自动使用它。
所以我猜测您的“数据”查询与常规查询位于不同的域中,并且该域不支持 HTTP/2。
是的,HTTP/2 极大地增加了并行请求的数量。 100 个飞行“流”是常见的服务器设置。然而,这确实带来了所有有趣的挑战:例如,Chrome 发现,当同时发生如此多的请求时,它的处理效率会很低,并且有一段时间会限制一次 6 个 HTTP/2 请求。此外,一些较低优先级请求(例如,首屏图像下方)可以使用更好地用于更高优先级请求(例如,首屏图像上方)的带宽。 HTTP/2 具有依赖关系和优先级的概念,但并非每个浏览器都使用它们。
一旦你深入其中,这就是一个令人着迷的话题。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)