我们在骨干和Angular中有一个大型SPA,它为具有大量用户的金融系统调用一组Java API。
一个人说:
另一个人说:由于协议的性质,在页面加载时间方面,启用http/2.0会对我们的用户产生巨大影响。
即使没有http/2.0,像Chrome这样的浏览器实际上也相当不错。打开它不会对最终用户产生明显的不同。
我们进行了更改,并测量了更改前后的静态页面加载时间。在变更之前和之后,我们没有看到48小时数据的差异。 (通过两个浏览器测试,并将页面加载时的日志记录数据从我们日志中的浏览器转发到应用程序。)
我的问题是:在Cloudfront中切换http / 2.0的改进是否适用于在引导期间大型网站的普通用户可以注意到的SPA?
答案 0 :(得分:1)
我害怕回答过于模糊的问题。
需要考虑的一些事项:
您的网站是否针对HTTP / 1性能问题解决方法进行了优化(例如: 连接,spriting,分片)HTTP / 2(看起来不需要那些)没有提供真正显着的性能优势?
您的网站是否充满了糟糕的JavaScript,HTTP下载(HTTP / 2看起来效率更高)在大规模的事情中是一个微不足道的,几乎无法察觉的性能问题?
您的网站带宽是否受限(例如,是否有完整的打印质量图像),以便带宽而非HTTP排队是问题?
你的后端和/或网络服务器是如此的糟糕,生成你的页面需要很长时间,所以HTTP传输部分是一个很小的,几乎不可察觉的问题部分?
您的网站是一个非常小的网站,只有一个HTML网页和一个JavaScript加载?
您的网站是否可以针对HTTP / 2进行更优化(例如,托管单个域上的所有内容,可能使用HTTP / 2推送等等),以便您获得比HTTP更高的性能/ 2
所有这些因素都会影响切换到HTTP / 2是否会产生明显的差异。 Google found that a sample of sites get a 27%-60% performance improvement for SPDY(HTTP / 2基于此),但它确实取决于相关网站。
最终,HTTP / 2旨在提高下载许多资产的效率,因为这在HTTP / 1下效率很低 - 特别是在低延迟条件下。如果您没有很多资产,或者下载那些不是问题,那么HTTP / 2那么您可能没有注意到太多差异。
我有一个blog post to help show the problems in HTTP/1 that HTTP/2 looks to address(包括分析现实世界的例子 - Amazon.com),它可以帮助您查看您的网站是否存在相同的潜在问题(完全披露它是a book I’m writing on the subject的一部分)。