Skip to content

liangdengwang/static-server

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Static-Server

项目描述

这是一个使用原生 Node.js 核心模块实现的静态资源服务器。该服务器能够响应浏览器端的静态资源请求,支持多种文件类型,并使用流操作和 Gzip 压缩提高传输效率。

功能特点

  • 使用 Node.js 核心模块(http、url、fs、path、zlib)实现
  • 支持多种静态资源类型(HTML、CSS、JavaScript、图片、文本等)
  • 通过流操作读取文件,提高性能
  • 支持 Gzip 压缩文件,减少传输数据量
  • 设置合适的 Content-Type 和缓存控制
  • 提供简单的错误处理(404、403、500)

使用方法

  1. 确保已安装 Node.js
  2. 将要提供的静态资源文件放置在 public 目录下
  3. 启动服务器:
node static_server.js
  1. 打开浏览器访问 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() 方法高效传输数据

About

静态资源服务器

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published