小编典典

什么是 Python 的 http.server(或 SimpleHTTPServer)的更快替代方案?

all

Python 的http.server(或
Python 2 的 SimpleHTTPServer)是从命令行提供当前目录内容的好方法:

python -m http.server

然而,就网络服务器而言,它非常缓慢......

它的行为就好像它是单线程的,并且在使用 RequireJS 加载 JavaScript AMD
模块时偶尔会导致超时错误。加载一个没有图像的简单页面可能需要五到十秒钟。

什么是同样方便的更快替代方案?


阅读 128

收藏
2022-04-13

共1个答案

小编典典

node.js 的http-server非常方便,而且比 Python
的 SimpleHTTPServer 快很多。这主要是因为它使用异步 IO 来并发处理请求,而不是序列化请求。

安装

如果您还没有安装 node.js。然后使用节点包管理器 ( npm) 安装包,使用-g全局安装选项。如果您在 Windows
上,您将需要具有管理员权限的提示,而在 Linux/OSX 上,您将需要sudo以下命令:

npm install http-server -g

这将下载任何所需的依赖项并安装http-server.

采用

现在,从任何目录中,您可以键入:

http-server [path] [options]

路径是可选的,./public如果存在则默认为,否则为./.

选项是 [默认值]:

  • -p要侦听的端口号 [8080]
  • -a要绑定到 [localhost] 的主机地址
  • -i显示目录索引页 [True]
  • -s--silent静默模式不会登录到控制台
  • -h--help显示帮助信息并退出

因此,要在端口 8000 上提供当前目录,请键入:

http-server -p 8000
2022-04-13