Curl工具和libcurl可能是世界上最流行和最广泛使用的HTTP客户端软件包了,已经有超过60亿的安装量了。 Curl的优势在于支持非常多的协议和功能,但为此也付出了很大的代价,就是这个包太庞大了。 为了满足特定场景下的使用,Curl官方发布了一个新的Curl工具,而且是最小化的,叫做 tiny-curl。 tiny-curl的第一个目标就是控制大小。tiny-curl 基于wolfSSL TLS库(一个轻量,支持嵌入式设备的 TLS 实现,我关注了他们的官方博客,非常的活跃),在32位系统上,整个大小控制在100K(包括wolfSSL TLS库)。 如果是一个完整版的Linux系统,可能根本不在乎Curl的大小,tiny-curl 的潜在用户更多是小型Linux系统,基于此,官方基于嵌入式 RTOS 系统进行测试,采用的是 FreeRTOS(一个免费的嵌入式系统)。 嵌入式设备上的libcurl库基于 libcurl API,这个API的开发和维护是重中之重,当然 libcurl API 也已经千锤百炼了,能够运行在很多平台上。 tiny-curl 的第二个目标就是尽可能干净的打PATCH,PATCH也会合并到libcurl代码树中,尽量不影响主要代码。 tiny-curl小巧的核心原因就是很多功能没有提供,比如仅仅支持HTTPS协议,没有cookie支持,没有multi-part支持,当然也可以重新编译,以便提供想要的一些功能。 目前可以在wolfssl官网下载tiny-curl(0.9版本),基于curl 7.64.1版本。下一篇我会分享如何安装使用。 大家常用的 curl 是基于 MIT 许可证,tiny-curl 采用 GPLv3,主要原因在于它还是一个实验性的工程,对于 Curl 来说,这是一个非常好的尝试。 今天微信允许关注数大于500的公众号开通广告主,希望大家多多点一点~~ ---------------------------------------------------------------------------------------------------------------------- 我们尊重原创,也注重分享,文章来源于微信公众号:虞大胆的叽叽喳喳,建议关注公众号查看原文。如若侵权请联系qter@qter.org。 ---------------------------------------------------------------------------------------------------------------------- |