皇上,还记得我吗?我就是1999年那个Linux伊甸园啊-----24小时滚动更新开源资讯,全年无休!

和 Pipelining 说再见,cURL 放弃使用管道技术

近日,cURL 作者 Daniel Stenberg 在其博客发布公告表示从这个发布到 cURL 7.65.0 的提交开始,cURL 将删除全部支持 HTTP/1.1 Pipelining 技术的代码。事实上,早在 7.62.0 版本中,该特性就已在代码中被禁用,因此保持使用最新版本应用的开发者应该不会注意到差异。

和 Pipelining 说再见,cURL 放弃使用管道技术

Daniel 表示,cURL 在支持 HTTP/1.1 Pipelining 的很长一段时间内,由于一系列已知的错误和缺乏足够的测试,其实这是一个脆弱的功能。此外,由于对时间非常敏感,对 pipelining 的调试相当棘手,经常需要启用调试输出或类似功能会完全改变性质的行为,影响十分大。

和 Pipelining 说再见,cURL 放弃使用管道技术

默认情况下,大型桌面浏览器从未启用 HTTP pipelining,因为它存在很多问题,例如服务器实现中断等。而且很长一段时间以来,Firefox 和 Chrome 都完全放弃了对管道技术的支持。随着时间的推移,cURL 在对管道方面技术的支持变得越来越孤独。

也正是 HTTP pipelining 的糟糕现状,这成了 HTTP/2 及其多路复用功能背后的主要驱动因素。HTTP/2 多路复用是真正的“pipelining done right”。与 HTTP/1.1 Pipelining 相比,它更加稳定和实用,并能以更好的方式解决用例,具有更好的性能和更少的缺点和问题。(自 7.62.0 起,cURL 默认启用多路复用

所以 Daniel 认为,在 2019 年更应放弃管道技术,转而使用 HTTP/2 来替代它。

转自 https://www.oschina.net/news/105743/curl-says-bye-bye-to-pipelining