我开始使用node express的时间不太长,并使用默认设置开发了一个简单的http服务器。
我一直在通过Postman和浏览器向localhost:3000
发出请求的方式对其进行测试,一切都很好。
然后,我需要在本地网络上移动服务,以便即使未在计算机上运行的应用程序也可以访问它。
我获得了本地IP,在执行任何修改之前,我首先尝试使用IP地址而不是localhost与Postman进行通信,还尝试使用智能手机上的浏览器来检查会发生什么情况。令我惊讶的是,它已经在本地网络上工作了,从某种意义上来说,我收到了服务器的响应消息(这可能很危险,因为我什至不知道)。
我猜您指定服务器应监听的地址和端口的行是server.listen(port);
如果未指定地址,是否意味着它应该同时监听localhost
和本地IP?还是node-express自动从一个地址转发到另一个地址?否则,它如何在localhost
和本地IP上工作?
答案 0 :(得分:0)
node-express和所有其他Web应用程序服务器侦听端口,而不侦听IP地址。也就是说,只要在您的机器上侦听端口X(node-express中的server.listen(port);
)并且没有被防火墙阻止,并且另一台主机H可以通过IP访问您的机器,则H可以访问侦听X的Web应用程序
如果未指定地址,是否意味着它应该同时监听localhost和本地IP?还是node-express自动从一个地址转发到另一个地址?
“端口监听”发生在传输层,而IP地址属于网络层。侦听HTTP请求时,node-express不在乎访问者的IP地址。
有没有办法查看他们两个都指向哪个资源?
所有客户端都以相同的方式访问Web应用程序中的资源,除非您在Web应用程序中手动配置它,否则它与客户端IP无关。