用 C 语言写一个现代化的 Web 应用 — Hacker News 中文摘要
来源:prophitt.me — 672 分 · by prophittcorey
📋 概述
作者用 1994 年的技术栈上线了一个商业产品 marketyour.games:OpenBSD 自带的 httpd、CGI、C 和 SQLite。产品包含账号体系、创作者搜索面板、目录管理,接 Stripe 收款与 Postmark 发信,遵循渐进增强,完全不依赖 JavaScript;整个应用只有一个静态链接的二进制、一个 SQLite 文件和三个依赖库,静态资源全部编译进可执行文件、直接从内存里发出。运行时每个请求 fork 一个新进程,发布新版本只是替换一个文件,既不用重启也没有停机窗口。作者的结论是 CGI 在 2004 年被淘汰是合理的,但放到 2026 年这个判断已不成立。
🔑 核心要点
- 技术栈是 BCHS:OpenBSD、C、httpd 与 SQLite,没有任何框架。
- 产品具备账号、搜索面板、Stripe 支付与事务邮件,零 JavaScript 依赖。
- 只依赖 libcurl 与 libsodium,cJSON 与 SQLite 以单文件形式内联。
- 静态资源全部编译进可执行文件,由内存直接发出。
- 每请求一个新进程,发新版本只需替换一个文件,没有停机窗口。
- 作者认为 CGI 被淘汰的判断在 2026 年已经不成立。
💡 金句
CGI's decline was justified in 2004 but doesn't hold up in 2026. You can write a modern web application in C. I shipped one.
👍 0
👎 0
← 返回 Hacker News 首页