这是一个使用原生 Node.js 核心模块实现的静态资源服务器。该服务器能够响应浏览器端的静态资源请求,支持多种文件类型,并使用流操作和 Gzip 压缩提高传输效率。
- 使用 Node.js 核心模块(http、url、fs、path、zlib)实现
- 支持多种静态资源类型(HTML、CSS、JavaScript、图片、文本等)
- 通过流操作读取文件,提高性能
- 支持 Gzip 压缩文件,减少传输数据量
- 设置合适的 Content-Type 和缓存控制
- 提供简单的错误处理(404、403、500)
- 确保已安装 Node.js
- 将要提供的静态资源文件放置在
public目录下 - 启动服务器:
node static_server.js- 打开浏览器访问
http://localhost:3000
static-server/
├── static_server.js # 主服务器程序
├── public/ # 静态资源目录
│ ├── index.html # 示例首页
│ ├── styles.css # 样式文件
│ ├── script.js # JavaScript 文件
│ ├── sample.txt # 文本文件示例
│ └── images/ # 图片目录
└── README.md # 项目说明文档
- 使用
http.createServer()创建 HTTP 服务器 - 使用
url.parse()解析请求的 URL - 使用
fs.createReadStream()创建文件读取流 - 使用
zlib.createGzip()实现 Gzip 压缩 - 使用流的
pipe()方法高效传输数据