为什么简单的 http 服务器不是 运行 在 127.0.0.0:8080 而是在 127.0.0.1:8080?

Why simple http-server not running in 127.0.0.0:8080 but in 127.0.0.1:8080?

我需要 运行 使用 nodejs 的简单 http 服务器。我已经使用 npm 安装在我的本地仓库中。当我 运行 以下命令时,我收到以下消息

nodejs node-modules/http-server/bin/http-server -a 127.0.0.0<br> 启动 http 服务器,服务 ./ on: http://127.0.0.0:8080

但是,服务器 运行 未在 http://127.0.0.0:8080 上。我在屏幕上只能看到,该网页不可用

如果我将命令更改为,

nodejs node-modules/http-server/bin/http-server -a 127.0.0.1

它在 http://127.0.0.1:8080

启动本地服务器

我不明白这是怎么回事。任何人都可以帮助我了解这里发生的事情吗?

提前致谢!!

127.0.0.0 不是有效地址。

参见 this 文章。

首先看一下 this 问题,它告诉您为什么以 .0 结尾的地址完全有效,但您应该避免使用它(提示:遗留原因)。

再一次,node 明确告诉您服务器的启动位置,您将其发布在您的问题中:

Starting up http-server, serving ./ on: ---> http://127.0.0.1:8080 <---

更重要的是,127.0.0.0 不是环回地址,而是通用(可能可分配的)网络地址。另一方面,127.0.0.1 是一个环回地址,这意味着它已分配给您的机器并且只能从您的机器访问。看看 this 维基百科文章。

那你能做什么?只需 运行 您在 127.0.0.1 上的应用程序,因为您不能(也不应该)在 127.0.0.0 上 运行 它。