我正在参加有关http协议的Google视频课程。 http 1.1引入了所谓的管道技术,以减少请求和响应之间的时间。可能会出现行阻塞,因此浏览器使用并行连接来避免HOL阻塞。
我想知道,浏览器如何发送并行网络数据包?我从未想过同时发送多个数据包的可能性,甚至可以通过“电缆”发送并行请求?它是如何工作的?
另一件事是http 2.0,浏览器是否在此协议中实现并行连接? http 2.0使用流,但我不确定浏览器如何处理它。
答案 0 :(得分:0)
HTTP中的任何内容都不是真正的并行。如果要一次传输多个资源,则客户端必须建立多个连接。对于HTTP / 1.1,每个主机看到三到五个这种情况并不罕见。
HTTP / 2有点不同,它可以参与交错:HTTP / 1.x中最小的实体是消息,而在HTTP / 2中,这将是帧消息。这允许HTTP / 2一次发送多个消息"#34; (实际上:一次给定消息的一帧),而HTTP / 1.1可能只是开始流水线操作,并且可能会受到HOL阻塞的影响。
关于您同时发送多个数据包的问题:是的,这是可能的,也是定期完成的。这将涉及wave physics,fourier transformations和电气工程,因此对于SO来说有点偏离主题;)