http-server 的使用说明

687 阅读3分钟

http-server 是一个简单的、零配置的命令行静态 HTTP 服务器。它对于生产使用来说足够强大,但它足够简单和可破解,常用于前端开发测试、静态网站预览等场景。

一、File 协议和 Http 协议

  • FIle 协议也叫本地文件传输协议 ,主要用于访问本地计算机中的文件,即 File 协议是访问你本机的文件资源; 基本的格式:file:///文件路径。
  • http 协议是 HyperText Transfer Protocol,即超文本传送协议的缩写。是用来从万维网服务器传输超文本到本地浏览器的传送协议,基于 TCP/IP 通信协议来传输数据。http 协议工作于客户端-服务器架构上,浏览器作为 http 客户端通过 url 向 http 服务器端发送请求,服务器接收到请求后,向客户端发送请求;基本的格式:http://10.4.121.22:9999/index.html

二、 安装方法

# 通过npm全局安装
npm install -g http-server

# 通过yarn安装
yarn global add http-server

三、 使用方法

1、常见命令

命令描述
-p 或者 --port端口设置,默认 8080
-P 或者 --proxy所有无法在本地解析的请求代理到给定的 URL
--proxy-options传递代理选项。例如:--proxy-options.secure false
-a要使用的地址,默认为 0.0.0.0
-o启动服务器后打开浏览器窗口 (可选)提供要打开的 URL 路径。例如:-o /其他/目录/
-g 或者 --gzip默认 false,是否开启 gzip 访问
–cors通过 Access-Control-Allow-Origin 标头启用 CORS
-S 或者 –-ssl启用 https。
-C 或者 -–certsslcert 文件的路径(默认值:) cert.pem。
-K 或者 –-keyssl密钥文件的路径(默认值:) key.pem。
-c设置缓存控制 max-age 标头的缓存时间(秒,默认为 3600),-c1010(缓存 1010 秒)。禁用缓存(-c-1)
--mimetypes用于自定义 mimetype 定义的 .types 文件的路径
-r 或者 -–robots提供/robots.txt(其内容默认为 User-agent: *\nDisallow: /)
-h 或着 -–help打印此列表并退出。

2、基础使用

语法 : http-server [path] [options]

# 开启服务
http-server  //启动服务

# 设置监听地址
http-server -a 127.0.0.1

# 设置监听端口
http-server -p 3500

# 禁用缓存
http-server -c-1

# 设置服务代理
//将请到代理到http://172.11.1.10:3500
http-server -P http://172.11.1.10:3500
http-server --proxy http://172.11.1.10:3500

# 命令同时使用
http-server -a 127.0.0.1 -p 35000 -c-1

3、高阶使用

跨域支持

http-server --cor

启动 https 服务

首先,确保您有 key.pem 和 cert.pem 文件。如果安装了 openssl 可使用以下命令生成证书 openssl req -newkey rsa:2048 -new -nodes -x509 -days 3650 -keyout key.pem -out cert.pem

//会生成一个证书密钥对,有效期大约为 10 年(准确地说是 3650 天)。
openssl req -newkey rsa:2048 -new -nodes -x509 -days 3650 -keyout key.pem -out cert.pem

如果安装了 git,也可以使用 git 的 openssl 模块,生成证书,到对应文件路径下,启动 git bash;执行命令openssl req -newkey rsa:2048 -new -nodes -x509 -days 3650 -keyout key.pem -out cert.pem

openssl-git.png

cert.png

生成证后启动 https 服务

http-server -S -C cert.pem