1. 引言
静态文件(Static Files) 是指那些内容在服务器上预先写好、不会随请求动态改变的文件,例如:
- HTML 页面(如 index.html)
- CSS 样式表(如 style.css)
- JavaScript 脚本(如 app.js)
- 图片(如 logo.png, photo.jpg)
- 字体、图标、PDF、音视频等
静态文件服务(Static File Serving) 是指 HTTP 服务器能够接收客户端(如浏览器)对某个路径的请求,并自动从本地文件系统中找到对应文件,将其内容返回给客户端。例如:
- 用户访问 http://example.com/style.css
- 服务器自动去磁盘找 ./www/style.css
- 读取文件内容,设置正确的 Content-Type: text/css
- 把文件原样返回给浏览器
这个过程无需写任何业务逻辑代码,由 HTTP 服务器框架自动完成。
一个通用的 HTTP 服务器框架通常会提供静态文件服务功能,因为:
- 实现简单:读文件 + 设置 MIME 类型即可;
- 用途广泛:极大简化小型项目部署;
- 开发体验好:不用额外起 Nginx 就能跑完整 Web 应用;
- 符合 HTTP 本质:HTTP 最初就是为传输静态文档设计的(超文本传输协议)。
2. 实例
使用 cpp-httplib 发布静态文件服务非常简单:
[code]#include #include #include using namespace std;int main() { httplib::Server svr; svr.set_mount_point("/public", "D:/Work/HttpServer/public"); std::cout |