我知道HTTP1.1支持流水线,其中可以通过单个连接发送多个请求,但这些请求需要由服务器按照从客户端发送的相同顺序处理。
另外,您可以从客户端并行发出多个HTTP请求,但每个请求都需要一个单独的TCP连接。
此外,由于多路复用,HTTP 2支持在一个TCP连接上进行多个请求,因此不存在维护序列的HTTP1.1限制。
如果通过HTTP1.x并行发送多个请求,那么它就不能正常工作。什么是,http 1.x没有提供,因为http 2类似于多路复用是不能完成的。
发布于 2019-03-29 18:47:29
因为请求响应对在HTTP/1中没有标识符,所以当服务器或客户端接收到部分请求或响应时,它们都不知道它属于哪个请求响应对。
因此,请求和答复需要完整地发送和接收。
HTTP/2具有多路复用,其中每对(或“会话”)都有一个唯一的标识符,该标识符与每个“帧”一起发送,因此部分请求或响应的接收方知道它属于哪一对。
发布于 2019-03-29 18:42:00
HTTP/1.1是1999年标准化的,它只是HTTP/1.0 (标准化的1996年)的一个小小的发展,它基本上增加了对HTTP管道、HTTP分组编码(内容长度不预先知道)和HTTP在默认情况下保持活动的支持。1999年,互联网与今天有了很大的不同(因为在接下来的20年里,它可能会有很大的不同)。当时Javascript只是一个很好的工具,可以在页面上滚动一些文本(如新闻代码等),没有Ajax和客户端的动态更新部分,整个Web2.0的想法还很遥远。
换句话说:现在根本不迫切需要一个支持多路复用的更复杂的协议。20年后再问一遍,为什么HTTP/2或HTTP/3在2039年还没有您所需要的所有特性。
https://stackoverflow.com/questions/55423553
复制相似问题