http2解决了什么问题

2021-11-12
1083

http2解决了什么问题,问题范围有点大,以下一部分问题提供给大家参考。
问题一、谁制作了HTTP / 2?
HTTP / 2是由IETF的HTTP工作组开发的,该工作组维护HTTP协议。它由许多HTTP实施者,用户,网络运营商和HTTP专家组成。
问题二、是否可以在不实现HTTP / 1.1的情况下实现HTTP / 2?
是的,主要是。
对于TLS(h2)上的HTTP / 2 ,如果您未实现http1.1ALPN标识符,则无需支持任何HTTP / 1.1功能。
对于基于TCP(h2c)的HTTP / 2 ,您需要实施初始升级请求。
h2c-仅客户端将需要生成“ *”的OPTIONS请求或“ /”的HEAD请求,这些请求相当安全且易于构造。希望仅实现HTTP / 2的客户端将需要将没有101状态代码的HTTP / 1.1响应视为错误。
h2c-仅服务器可以接受包含“升级标头”字段和固定101响应的请求。没有h2c升级令牌的请求可以通过包含升级标头字段的505(不支持HTTP版本)状态代码拒绝。不希望处理HTTP / 1.1响应的服务器应在发送连接序言后立即拒绝带有REFUSED_STREAM错误代码的流1,以鼓励客户端通过升级的HTTP / 2连接重试请求。
问题三、如何使用HTTP / 2服务器推送?
HTTP / 2服务器推送允许服务器无需等待请求即可向客户端提供内容。这可以改善检索资源的时间,尤其是对于具有大带宽延迟产品的连接,其中网络往返时间包括花费在资源上的大部分时间。
推送基于请求内容而变化的资源可能是不明智的。当前,浏览器仅在其他情况下才使用推送请求,否则它们将发出匹配请求。
某些缓存不考虑所有请求标头字段中的变化,即使它们在Vary标头字段中列出也是如此。为了最大化接受推送的资源的可能性,最好避免内容协商。accept-encoding缓存广泛遵循基于标头字段的内容协商,但是可能无法很好地支持其他标头字段。
如果需要相关http2检测工具在线检测,可直接点击这里。

转载时必须以链接形式注明原始出处及本声明

扫描关注公众号