之前遇到过一件很纳闷的事,明明用webpack-dev-server监听了一个端口xx,用localhost:xx可以打开,但是依然可以在localhost:xx来启动另一个服务。
后来我看来了下webpack的配置,才发现原来监听了0.0.0.0的xx端口,但是为什么localhost也能访问呢?
127.x.x.x 环回地址
127.x.x.x是环回地址,表示如果向这类地址发送请求,就会马上送回本主机,不会发送出去。
其中127.0.0.1是 域名localhost的默认值,可以在windows: C:WindowsSystem32driversetchosts可以配置修改
0.0.0.0 默认路由(兜底路由)
0.0.0.0表示的是默认路由,即当路由表中没有找到完全匹配的路由的时候所对应的路由。
例如访问localhost:8088,那么访问的时候会先访问127.0.0.1:8088
如果127.0.0.1:8088没有被监听,则转去0.0.0.0:8088
注意这个只限于本机拥有的ip
例如,启动了一个服务监听 0.0.0.0:8099
那么如果127.x.x.x:8099端口没有被占用的话,都会转去0.0.0.0:8099,但是访问不属于本机的域名/IP时就不会转到0.0.0.0