localhost vs 127.0.0.1 vs 计算机名 vs url 中的 ip

Sam*_*Sam 8 networking url

我看到相同的 url 与localhost远程服务器不工作和127.0.0.1工作,反之亦然。

我想要 url 地址中四种形式的服务器指示器之间的区别:

  1. 本地主机
  2. 17.0.0.1
  3. 计算机名
  4. ip

对于示例Apache ActiveMQWeb 控制台 url 可以在我的计算机中显示为以下形式:

  1. http://localhost:8161/
  2. http://127.0.0.1:8161/
  3. http://mjm:8161/
  4. http://192.168.20.92:8161/

(对不起,如果我使用了错误的术语或语法,我正在学习英语。)

小智 5

这都是关于地址解析的。

通常,http://localhost:8161会访问http://127.0.0.1:8161。当您向 localhost 发出请求时,在发出 DNS 请求之前,您的操作系统将查看 HOSTS 文件(Linux 中的 /etc/hosts),并会看到其中有一条规则表明 localhost 映射到 127.0.0.1。

有时,localhost 会映射到不同的 IP,例如 127.0.1.1。这可能会导致 localhost 和 127.0.0.1 之间的故障。(例如,您的服务配置为侦听映射到 127.0.1.1 的本地主机,而您尝试访问 127.0.0.1)。

如果您使用主机名,您的操作系统可能会在网络堆栈上走得更远,甚至可能会发出 DNS 请求以发现主机 IP,然后尝试访问该 URL。

当您使用 IP 地址时,您的 SO 将尝试使用给定的 IP 地址访问该 URL。