Javascript 当主机为0.0.0.0时,为什么浏览器尝试通过https获取文件?

Javascript 当主机为0.0.0.0时,为什么浏览器尝试通过https获取文件?,javascript,html,reactjs,express,create-react-app,Javascript,Html,Reactjs,Express,Create React App,我有一个由create react app创建的应用程序。 构建之后,它会生成一个包含一些JS和CSS文件的html文件。 html文件看起来像 <!doctype html>...<script src="/static/js/main.89f33fbb.chunk.js"></script></body></html> 当我试图打开或关闭http://localhost:5000 在浏览器中,加载整个页面没有问

我有一个由create react app创建的应用程序。 构建之后,它会生成一个包含一些JS和CSS文件的html文件。 html文件看起来像

<!doctype html>...<script src="/static/js/main.89f33fbb.chunk.js"></script></body></html>
当我试图打开或关闭http://localhost:5000 在浏览器中,加载整个页面没有问题

但是,当我尝试打开时,它首先成功地获取html文件。但是,在以下请求中,它尝试通过
https
获取不存在的JS和CSS文件

我知道
将首先尝试通过
https
获取文件,但如果不存在,我希望它通过
http
获取

我在私有模式下尝试了Chrome、Firefox和Safari,结果是一样的


有什么地方我做错了吗?

您可以使用0.0.0.0监听任何地址,但不应使用它发送请求,因为0.0.0.0是一个不可路由的元地址,用于指定无效、未知或不适用的目标

在服务器上下文中,0.0.0.0表示“本地计算机上的所有IPv4地址”。如果主机有两个ip地址,192.168.1.1和10.1.2.1,并且主机上运行的服务器侦听0.0.0.0,则在这两个ip上都可以访问该主机,但如果要访问服务器,则应使用其中一个ip

看看:


请咨询,0.0.0.0是一个特殊的地址。您可能应该避免使用0.0.0.0,它有特殊的含义,请参见:谢谢@PeterB,我知道它的特殊含义。我使用它实际上是因为我想把它包装在一个docker中,然后和Kubernetes一起使用。我得到的建议是,您可以使用0.0.0.0监听任何加法,但您不应该使用它发送请求,因为0.0.0.0是一个不可路由的元地址,用于指定无效、未知或不适用的目标。看看:,@Lety,我想我明白你的意思了!我想接受作为一个答案,一旦你张贴。我会找到正确的方法来处理我的案子。
const app = express()
  .use(bodyParser.json())
  .use(express.static(path.join(__dirname, '../dist')))

app.listen(5000, '0.0.0.0');