我使用BaseHTTPServer模块在Python上托管一个http服务器。
我想了解为什么需要指定您托管http服务器的IP,例如127.0.0.1/192.168.0.1或其他。 [可能是一般的http服务器概念,而不是特定于Python]
为什么知道机器的IP可以连接到http服务器的人怎么样?
如果我的http服务器同时连接到两个网络,我遇到问题,我想在两个网络上提供http服务器。当我从http服务器机器上的热点模式切换到连接到另一个wifi路由器时,我的IP通常会即时更改。
答案 0 :(得分:2)
您必须指定服务器的IP地址,主要是因为底层系统调用侦听套接字需要它。在较低级别,您声明要使用的对(IP地址,端口),监听它并接受传入的连接。
另一个原因是专业级服务器通常有多个网络接口和多个IP地址,有些服务只需要监听一些接口地址。
希望有特殊的地址:
答案 1 :(得分:1)
尝试在0.0.0.0上运行它,它接受来自所有接口的连接。明确指定IP是一般的好习惯(负载平衡,缓存服务器,安全性,内部网络微服务等),但从您的故事判断,这不是生产服务器,而是一些内部LAN应用程序。