接下来的两步也很容易预见。第一步是已经广泛部署的HTTP/2,它允许你在单个网络连接中复用多个HTTP请求。明智地使用之后,它可以为你带来使用永久连接的一些好处。但它仍然与TCP密切相关,这有一些不幸的副作用,在此我不会对其深入探讨,部分原因是这不是我所深刻理解的事物。但我希望看到诸多应用程序和服务可以从HTTP/2进化中获得很好的收益;在某些程度上,因为就客户端而言,他们仍在生成和响应与之前完全一致的HTTP请求。
之后的下一步是QUIC(Quick UDP Internet Connections,快速UDP互联网连接),它放弃了TCP而使用UDP,同时保留了HTTP语义。这已经在很多Google产品上投入使用。我个人认为这是一个非常重要的事情; HTTP如此成功的原因之一是它的连接是短时的,因此在工作时受到破坏的可能性要小得多。这非常棒,因为设计一种可以处理连接断开的应用程序级协议是非常困难的。在HTTP的世界中,你同时需要处理的多数情况是一些失败的请求,而连接断开只是可能发生此问题的原因之一。UDP通过没有真正的连接使连接断开问题消失了。
当然,没有免费的午餐。如果你正在使用UDP,你就不会在TCP中获得TC,我说的是Transmission Control,它负责打包和重组以及校验和检查、流控以及加载其他超级有用的东西。但从我看到的证据判断,QUIC做得足够好,足以完全支持HTTP语义,所以再一次,想要继续使用与2005年相同的旧的XMLHttpRequest调用的应用程序可以愉快地保持不变了。
评论删除后,数据将无法恢复
评论(2)