为什么简单的http-server不在127.0.0.0:8080但在127.0.0.1:8080中运行?

时间:2015-08-22 09:01:07

标签: node.js httpserver

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

AsyncTask

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

如果我将命令改为,

nodejs node-modules/http-server/bin/http-server -a 127.0.0.0
Starting up http-server, serving ./ on: http://127.0.0.0:8080

它在http://127.0.0.1:8080

启动本地服务器

我不明白发生了什么。任何人都可以帮我理解这里发生了什么吗?

感谢ADVANCE !!

2 个答案:

答案 0 :(得分:3)

127.0.0.0不是有效地址。

请参阅this文章。

答案 1 :(得分:0)

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

然后,节点明确告诉您服务器的启动位置,您将其发布在您的问题中:

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上运行它。