只有一个 C 文件的 Web 服务器!(文末赠书)
以下内容来自公众号逆锋起笔,关注每日干货及时送达
前段时间看到推特上的一个分享,非常不错!
SQLite 大家应该都知道吧?SQLite 是一款轻型的数据库,是遵守 ACID 的关系型数据库管理系统,它包含在一个相对小的 C 库中。它的设计目标是嵌入式的,而且已经在很多嵌入式产品中使用了它,它占用资源非常的低。
SQLite 是在 2000 年发布的,到目前为止已经有 19 年了。
像大家现在使用的微信,它本地就是通过 SQLite 来存储的数据。
注意:微信本身的服务器就不能使用 SQLite,毕竟,并发量太大,SQLite 没办法满足。
SQLite 的作者是 D. Richard Hipp(理查德希普),作者非常的有个性,用到的软件工具都是自己写,他写了不少工具,比如 SQLite、Bug 追踪系统 CVSTrac、版本管理系统 Fossil。
今天要推荐的就是理查德希普最新开源的 Web 服务器 althttpd,我们可以先来看下这个项目的时间线。
可以看出来开源工作是最近才开始的,但是实际上 althttpd 从 2004 年开始就在支撑 https://sqlite.org/ 网站的运行,althttpd 的设计目标就是为了简单、安全同时低资源消耗。
在 2018 年,sqlite.org 每天要响应 50 万的 HTTP 请求,而只用了价值 40 美金的服务器,而且服务器处于很低的负载(0.1 或者 0.2),可以看出其性能还是不错的。
我们来看下 althttpd 的代码,项目实际只有一个 c 文件,整体行数也不多,是一个非常不错的学习项目。微信搜索readdot,关注后回复 视频教程 获取23种精品资料.
而且项目中有一个介绍文件 althttpd.md
,详细介绍了 althttpd 的设计哲学、项目使用说明等。
从 althttpd 的设计哲学可以看出来,作者是一个很克制的人,并不是希望去做一个功能非常丰富的 Web 服务器,而是希望 althttpd 在满足功能要求的前提下,能够尽量保持代码的简洁,这是非常值得我们学习的。
更多项目详情请查看如下链接。
项目地址:https://sqlite.org/althttpd/doc/trunk/althttpd.md
版权申明:内容来源网络,版权归原创者所有。除非无法确认,都会标明作者及出处,如有侵权,烦请告知,我们会立即删除并致歉!
逆锋起笔
专注于程序员圈子,你不但可以学习到java
、python
等主流技术干货和N多个源码
分享,还可以第一时间获悉最新技术动态
、内测资格
、BAT大佬的经验
、精品视频教程
、副业赚钱
经验,微信搜索readdot
关注!
VS Code 连接远程服务器运行 Jupyter Notebook
今日福利
赠送如下图书籍:
赠送规则:
1、给本文点赞、在看
2、给本文留言(留言内容与本书有关)
3、中奖后我会回复你的留言,请注意公众号消息。
上周中奖者: