127.0.0.1可以访问,localhost不能访问的问题

来源:互联网 发布:树莓派安装unity3d 编辑:程序博客网 时间:2024/06/05 02:55

今天写demo的时候碰到一个坑,用localhost无法访问,用127.0.0.1可以,查了一下,顺便记录

二者概念

  • localhost:本地服务器
  • 127.0.0.1:本机地址(本机服务器)

二者区别

  • localhot:是不经网卡传输的,它不受网络防火墙和网卡相关的的限制。
  • 127.0.0.1:是通过网卡传输的,它依赖网卡,并受到网络防火墙和网卡相关的限制。

原因分析

  • localhost:系统带的本机当前用户的权限去访问
  • 127.0.0.1:等于本机是通过网络再去访问本机,可能涉及到网络用户的权限。

下面是我ping出来的数据,localhost地址是::1

C:\Users\Administrator>ping localhost正在 Ping TaoYuan-20170324 [::1] 具有 32 字节的数据:来自 ::1 的回复: 时间<1ms来自 ::1 的回复: 时间<1ms来自 ::1 的回复: 时间<1ms来自 ::1 的回复: 时间<1ms::1 的 Ping 统计信息:    数据包: 已发送 = 4,已接收 = 4,丢失 = 0 (0% 丢失),往返行程的估计时间(以毫秒为单位):    最短 = 0ms,最长 = 0ms,平均 = 0msC:\Users\Administrator>ping 127.0.0.1正在 Ping 127.0.0.1 具有 32 字节的数据:来自 127.0.0.1 的回复: 字节=32 时间<1ms TTL=128来自 127.0.0.1 的回复: 字节=32 时间<1ms TTL=128来自 127.0.0.1 的回复: 字节=32 时间<1ms TTL=128来自 127.0.0.1 的回复: 字节=32 时间<1ms TTL=128127.0.0.1 的 Ping 统计信息:    数据包: 已发送 = 4,已接收 = 4,丢失 = 0 (0% 丢失),往返行程的估计时间(以毫秒为单位):    最短 = 0ms,最长 = 0ms,平均 = 0ms

解决方案

方案一

  1. 打开C:\Windows\System32\drivers\etc\host文件
  2. 最后面是
# localhost name resolution is handled within DNS itself.#   127.0.0.1       localhost#   ::1             localhost

加两句,改成这样

# localhost name resolution is handled within DNS itself.#   127.0.0.1       localhost#   ::1             localhost127.0.0.1 localhost localhost 127.0.0.1

现在就可以ping通了

C:\Users\Administrator>ping localhost正在 Ping TaoYuan-20170324 [127.0.0.1] 具有 32 字节的数据:来自 127.0.0.1 的回复: 字节=32 时间<1ms TTL=128来自 127.0.0.1 的回复: 字节=32 时间<1ms TTL=128来自 127.0.0.1 的回复: 字节=32 时间<1ms TTL=128来自 127.0.0.1 的回复: 字节=32 时间<1ms TTL=128

方案二

真的,特别蛋疼,如果不是上面的问题,清一下浏览器缓存试试!

阅读全文
0 0
原创粉丝点击