写点什么

curl 为什么这么流行?

  • 2022-02-17
  • 本文字数:1876 字

    阅读完需:约 6 分钟

curl为什么这么流行?

本文最初发布于 Daniel Stenberg 的个人博客,由 InfoQ 中文站翻译并分享。


在这篇文章中,我将命令行工具 curl 和 libcurl 库合二为一,统称为 curl(相关内容:网络研讨会“为什么每个人都在使用curl,而且你也应该使用” 。)


我相信,差不多每个使用 curl 的人都有自己的故事和解释,为什么他们在自己的产品或设备中使用 curl。为什么用户,包括许多世界上最大、最成功的科技巨头,认定他们可以依靠 curl 进行互联网传输,我认为有几个很好的理由。


curl 被用于手机和平板电脑应用程序,被用于电视、汽车、摩托车、冰箱、机顶盒、打印机、智能手表、医疗设备和电脑游戏(包括桌面和游戏机),当然也包括几乎所有的网络或互联网服务器。它还被用来登陆火星https://daniel.haxx.se/blog/2021/04/19/mars-2020-helicopter-contributor


总而言之:几乎所有联网的设备都用了。

为什么使用 curl?

我想专门说下这四个主要特性。



在这几个方面,与任何竞争对手相比,curl 都是最好的选项之一。


它之所以能保持这样的地位,是因为它有一个非常可靠的基金会,它立足于开源、领导力、测试和安全。

可靠

可靠的代码和产品:大多数人和用户从未遇到过任何错误或问题。他们几十年来一直在使用它,没出任何差错。


安全:意味着我们提供的产品默认就是安全的,我们对项目中与安全有关的缺陷保持高度关注。


稳定的 API 和 ABI:用户知道,他们总是可以无忧无虑地升级到后续版本。以前有效的东西,今后会继续有效。


不断完善:curl 与互联网、用户、新协议和不断发展的标准保持同步,从未停止。

可用

它可以在任何地方运行。无论选择什么样的平台,你都可以认为 curl 可以在那里运行。使用相同的 API。


curl 已经存在了几十年了。它仍然是你以前信赖的产品和 API。长期以来,我们一直如此,这是有记录可查的,经得起任何审查。


通常,curl 都是在操作系统上预装的,使用起来非常方便。


详尽的文档。一个库及其 API 有多好要看它的文档有多好。用户需要弄清楚他们有哪些选项,以及如何使用 API 来编写高效、安全的应用程序。 curl 提供了世界级的文档,包括所有你可能需要的微小细节,有在线的,也有离线的。

强大

强大的功能。它提供的 API 通用性非常好,几乎可以支撑所有类型的应用和用例的互联网传输。


快。 速度很重要。


curl 支持现代应用程序所需的 "所有协议",而且其实现是可互操作的,不管是在互联网上,还是互联网之外,它都经过了长期的实战检验。


互联网是一个疯狂的地方,传输方式无数。 curl 提供了无数的特性,可以满足最苛刻的用户。


灵活的构建让用户可以简化 curl 的构建,并确切地控制其构建支持和提供什么内容。

实惠

curl 是免费的,基于一种自由的许可协议开源。你用它或运行它,不需要给任何人付钱。我们还在邮件列表中提供免费的帮助和支持。


我们也提供商业支持,帮助用户使用 curl 并解决可能遇到的任何相关问题。使用 curl 不会浪费你作为工程师的宝贵时间。


为 curl 做贡献也很容易,你可以方便地修复一个 bug 或增加一个功能。我们是一个没有障碍、没有官僚主义的项目,我们态度积极,没有对新人设置一个高门槛。

基金会

所有这些都得益于一个可靠且稳固的项目基金会。我们是开源的,项目对所有人都是完全透明度的,每个人都可以检查和追踪,从而验证每一种说法。


我认为我们有一个很好的领导层,当然我有点自夸,但长期以来,我们一直在沿着正确的方向前进,使 curl 可以支撑起互联网传输的世界。规则、执行、知识、沟通、准则、概念和氛围都是很重要的因素。我们都以身作则。


我们非常重视测试,尽可能地使用各种工具对产品进行不间断的测试,从最初的拉取请求,到合并提交到主分支,以便在代码到达用户手中之前,尽可能多地发现和修复缺陷。


对于每一个安全漏洞,几乎没有一个项目能与我们公布细节和信息的水平相提并论。我们有一个非常慷慨的 Bug Bounty 项目,为那些发现新安全问题的人提供的奖金越来越多。

curl 之环

说到 curl 和 curl 项目的不同品质和属性,当然,它们没有一个是单独构建或创建的。它们都是结合在一起、密不可分的,在很长的一段时间内,我们逐步地、一点一点地迭代构建并创造了 curl。


一件事为因,另一件事为果,又一件事为因,又一件事为果,就这样呈螺旋式上升,永不结束。它们都是相互联系的,改善其中的一个方面,肯定会对 curl 的其他方面产生直接的积极的影响。


curl 之环是为了每个人和整个项目的利益而全面改进 curl,这使得它越来越好,应用越来越广。这反过来催生了更多的开发者、更多的功能和更多的用户。周而复始,无穷无尽。



你喜欢用 curl 的原因是什么呢?欢迎在评论区留言~


查看英文原文:https://daniel.haxx.se/blog/2021/12/03/why-curl-is-used-everywhere-even-on-mars

2022-02-17 14:253418
用户头像
刘燕 InfoQ高级技术编辑

发布了 1112 篇内容, 共 574.4 次阅读, 收获喜欢 1981 次。

关注

评论

发布
暂无评论
发现更多内容

阿里巴巴内网 Java 面试 2000 题解析(2023 最新版

三十而立

面试官:说一说mysql的varchar字段最大长度?

程序员小毕

MySQL 数据库 程序员 面试 架构师

软件测试/测试开发丨H5性能分析实战

测试人

软件测试 性能测试 自动化测试 H5 W3C

华为云发布多项场景化解决方案助力制造业企业加速上云

IT科技苏辞

联想超融合加入龙蜥社区,多产品完成与 Anolis OS 适配

OpenAnolis小助手

开源 操作系统 龙蜥社区 龙腾计划 联想超融合

KubeVela:云原生应用和平台工程之路

阿里巴巴云原生

阿里云 开源 云原生 KubeVela

探索网络世界的核心:TCPIP协议四层模型解析

Java 计算机网络 网络协议 TCP/IP

喜讯!索信达荣获CCSA TC601年度“优秀成员单位”

索信达控股

有关TCP协议,这是我看过讲的最清楚的一篇文章了!

三十而立

[翻译]反生产力宣言

宇宙之一粟

人生 时间管理 高效能

一站式开发平台 加速企业数字化发展

力软低代码开发平台

Go 语言读取文件的几种方式

宇宙之一粟

Go 语言

华为云开源项目OpenTiny的TinyCLI是什么时候开源的?

英勇无比的消炎药

前端 开源项目 cli UI组件库

Apifox:API 接口自动化测试完全指南

Apifox

测试 自动化测试 测试工具 接口工具免费 免费工具

制造企业如何解决数据分散和管理困难的问题,实现数字化转型?

IT科技苏辞

如何过好4000周:关于重新校准人生时间的建议

宇宙之一粟

时间管理

2023年最强手机远程控制横测:ToDesk、向日葵、Airdroid三款APP免Root版本

陈橘又青

远程连接

软件测试/测试开发丨如何开始webView 性能测试

测试人

软件测试 性能测试 自动化测试 测试开发

云原生:驱动企业数字化新模式

北京好雨科技有限公司

云原生 数字化 rainbond 企业号 4 月 PK 榜

智能汽车主题 Meetup 线下报名开启!IoTDB X EMQ 为智慧车联和智能制造打造数据基础设施平台

Apache IoTDB

智能汽车 IoTDB Apache IoTDB

不想做架构师的Gopher不是好程序员

王中阳Go

Docker 高效工作 学习方法 面试题 Go 语言

面试造火箭?GitHub 飙升“2023(Java 岗)面试真题汇总”转载 40 万

三十而立

【亲测有效】30 岁测试工程师的 12 个破除内卷技能!

禅道项目管理

职场 互联网人 敏捷测试 测试工程师

详解事务模式和Lua脚本,带你吃透Redis 事务

华为云开发者联盟

数据库 后端 华为云 华为云开发者联盟 企业号 4 月 PK 榜

阿里P8架构师20年经验总结成微服务设计企业架构转型之道笔记

程序知音

Java 微服务 java架构 Java进阶 后端技术

真下饭!字节技术官DDD(领域驱动设计)手册,拆解业务代码首选

Java 架构 领域驱动设计 DDD

MobTech MobPush|推送的下发逻辑是什么样的

MobTech袤博科技

构建系列之前端脚手架vite

江湖修行

Vue vite cli

狂刷《Java 权威面试指南(阿里版)》,冲击“金三银四”有望了

三十而立

华为云开源项目OpenTiny的TinyNG组件库的设计理念是什么?

英勇无比的消炎药

前端 开源项目 OpenTiny UI组件库

读懂一个项目的研发效能 之 项目人效

思码逸研发效能

研发效能 功能更新

curl为什么这么流行?_语言 & 开发_Daniel Stenberg_InfoQ精选文章