柚哉の博客

一款仅有5KB的HTTP服务器的windows程序

2026 年 08 月 14 日 柚哉 约 1 分钟 264 字 17 阅读

wwwserve — 超小 HTTP 静态文件服务器 (5.5KB)

程序所在目录下的 www 目录即网站根目录。x64 版仅 5.5KB(UPX 后)。

用法

把静态网站文件放到 exe 同目录的 www\ 下:
  wwwserve\www\index.html
  wwwserve\www\css\style.css
  wwwserve\www\img\logo.png
  ...

双击或命令行运行 wwwserve.exe, 浏览器打开 http://127.0.0.1:8080
  • 端口:8080(改源码 PORT 常量后重新编译)
  • 访问 http://本机IP:8080 可被局域网访问
  • 请求目录自动寻找该目录下的 index.html
  • 支持中文文件名(URL 编码)
  • 仅 GET / HEAD;文件流式发送,大文件不占内存
  • 响应头含 Server: MMS/1.0
  • 请求日志:控制台实时输出 [MMS] 方法 路径 状态 字节数(如 [MMS] GET / 200 127

产物与体积

文件 体积 说明
wwwserve.exe 5.5 KB x64(UPX 后, 远超 <20KB 目标)

技术要点:所有工作缓冲放全局 .bss 段(不占文件体积),避开 x64 大栈数组触发的栈探测(chkstk)巨型代码——这是体积从 54KB 降到 9.5KB 的关键。静态链接,无运行时依赖,单文件。

安全

  • 路径穿越防护:../%2e%2e%2f 等均被拒绝(403/404),只能访问 www 目录内文件
  • 无认证,仅建议可信网络使用

构建

下载源代码点我
要求 Zig 0.16+(稳定版)与 UPX(可选,不加则 x64 约 53KB)。

powershell -ExecutionPolicy Bypass -File build.ps1