localhost其实就是域名。一般windows系统默认将localhost指向127.0.0.1,但是localhost并不等于127.0.0.1,localhost指向的IP地址是可以配置的。
127.0.0.1其实是一个回送地址,这个127.0.0.1绑定到了一个操作系统虚拟出来的网卡上,这个虚拟出来的网卡就可以接收发往127.0.0.1地址的数据包了。
所谓的回地送址:通俗的讲,就是我们在主机上发送给127开头的IP地址的数据包会被发送的主机自己接收(也就是绑定127开头的虚拟网卡),根本传不出去,外部设备也无法通过回环地址访问到本机。只不过127.0.0.1经常被默认配置为localhost的IP地址。一般会通过ping 127.0.0.1来测试某台机器上的网络设备是否工作正常。
明白了127.0.0.1和0.0.0.0后,本机ip地址就好理解了。127.0.0.1只能被本地机器访问;0.0.0.0可以被所有ip访问;而本机ip就是具体物理网卡上配置的ip。如果这个ip是127.0.0.1,那个这个服务只能被本地机器访问,不能被其它机器访问;如果这个ip是本机ip地址,例如192.168.1.11,那么这个ip地址可以被外部机器访问,但不能通过127.0.0.1访问到。
vscode在本地编写的html文件 是以file文件的格式开头在浏览器打开的,测试平常js的事件完全没有问题,但是一旦涉及网络请求数据ajax调用的时候会报错,就算是在本地的json文件都不行,它会涉及到跨域的问题,浏览器本身就限制了本地打开不允许跨域请求,这个时候需要一个本地服务器让文件在浏览器跑起来以localhost+端口号或127.0.0.1+端口号的形式访问html文件(来源:https://www.jianshu.com/p/07cf88723931)
如何用node 安装http-server?
npm install http-server -g
安装完成后,打开你的项目目录下,打开cmd,输入hs -c-1 -o,输入后就能启动本地服务器
然后在浏览器输入http://127.0.0.1:8080 自动帮你打开项目的index.html文件 然后就可以就行ajax本地json或者网络请求了
如果被占用端口自动帮你改端口成 http://127.0.0.1:8081