localhost与127.0.0.1是什么?
127.0.0.1是一个特殊的IP地址,永远指向你此刻正在使用的这台设备本身,localhost则是这个地址的名字。请求不会离开设备,响应会直接在本机内返回。
最后更新
127.0.0.1为什么总是指向我自己?
127.0.0.0/8这整个网段都被保留为环回(loopback)专用,所以无论从哪台设备向127.0.0.1发送请求,这个请求都不会经过网卡或路由器,而是直接在同一台设备内部被处理。
正因为如此,不管身处何地、使用哪家运营商,127.0.0.1在全世界任何一台电脑上都表示"我自己"这同一个含义。
localhost和127.0.0.1是一回事吗?
localhost是指向127.0.0.1的一个便于人阅读的名字(主机名)。在浏览器地址栏输入 localhost,电脑会自动把它解析为127.0.0.1再进行连接。
在某些环境下,localhost也会解析到IPv6的环回地址 ::1,不过所起的作用是完全一样的。
127.0.0.1和私有IP有什么不同?
私有IP(例如 192.168.0.10)可以被同一路由器下的其他设备访问,而127.0.0.1只能被设备自身访问,网络上的其他任何设备都无法连接到它。
如果还想了解和公网IP、私有IP的区别,可以参考公网IP与私有IP的区别。
127.0.0.1实际用在哪些地方?
开发者在自己电脑上测试网站或应用时,经常会用 http://127.0.0.1:3000 这样的地址作为本地服务器,在正式发布到互联网之前先在本机确认功能是否正常。
想查看实际的私有IP和公网IP,可以参考在Windows上查看IP、在Mac上查看IP。
| 项目 | 数值 | 来源 |
|---|---|---|
| 环回保留网段 | 127.0.0.0/8 | RFC 6890 · 2013-04 |
常见问题
能用127.0.0.1连接到别人的电脑吗?
不能。127.0.0.1始终表示"发出这个请求的设备本身",所以就算别人在自己电脑上访问127.0.0.1,连接到的也只是他自己的电脑,而不是你的。
除了127.0.0.1还有其他环回地址吗?
127.0.0.0/8这整个网段都是环回专用,理论上127.0.0.2等地址也能起到同样作用,但习惯上大家最常用的还是127.0.0.1。
localhost打不开怎么办?
先确认对应的服务或程序是否真的在这个地址上运行,再检查防火墙或安全软件有没有挡住本地端口,这是常见的排查顺序。
路由器的管理页面也是通过127.0.0.1打开的吗?
不是。路由器管理页面通常通过 192.168.0.1 这类路由器自身的私有IP打开,和127.0.0.1是不同的地址。
像127.0.0.1:8080这样带端口号的写法是什么意思?
冒号后面的数字是端口号,用来告诉设备该由哪个正在运行的程序来处理这个请求。同一个环回地址下,不同端口可以同时运行多个不同的本地服务。