跳转至

Localhost

环回地址

  • 环回地址,是指不离开主机的数据包(也就是说,这些数据包不会通过外部网络接口)。
  • 任何发往环回地址的数据包,其处理都在 TCP/IP 协议叠的链路层中实现的。这些数据包不会向下交由网卡(NIC)或者设备驱动程序处理,既不应在电脑系统以外出现,也不可经路由器转发。
  • 环回地址是主机用于向自身发送通信的一个特殊地址,帮助我们在同一台主机上实现client和server的功能。
  • 运用本地环回机制,便可在主机上运行网络服务,期间不须安装实体网络接口卡,也无须将该服务开放予主机所在网络。

localhost

  • localhost 是一个别名,用于指代为环回保留的 IP 地址(环回地址)。
  • IPv4使用 A 类地址的最后一个块(从 127.0.0.1 到 127.255.255)
    • 发送到这些地址(127.0.0.1 到 127.255.255.255)的所有数据包都会返回本机。
  • 而IPv6保留第一个(0:0:0:0:0:0:0:1 - 或 : :1)作为其环回地址。

0.0.0.0 任意ip

  • 0.0.0.0并不是一个真实的的IP地址,它表示本机中所有的IPV4地址。
  • 监听0.0.0.0的端口,就是监听本机中所有IP的端口。
  • 0.0.0.0是不能被ping通的。

localhost 与 127.0.0.1区别

  • localhost(本地主机)不是专门指 127.0.0.1,而是指为环回保留的整个 IP 地址范围。
    • 注意你不能总是使用127.0.0.1进行环回。
    • 仅限 IPv6 的系统不会响应此类请求,因为它们的 localhost 链接到地址::1。
    • 修改/etc/hosts文件即可修改环回的地址。但是十分不建议这样做,很可能导致本地服务崩溃
  • 请求的发送方式不同???
    • 127.0.0.1是通过网卡传输,依赖网卡,并受到网络防火墙和网卡相关的限制。
    • localhost不会解析成ip,也不会占用网卡、网络资源。一般设置程序时本地服务用localhost是最好的。

如何将环回地址某端口上的服务映射到外部网络接口

  • 可以使用ssh转发ssh -L 1313:localhost:8020 [email protected]将服务器localhost:1313上的内容转发到本地8020端口
  • hugo server -D -d ~/test/public默认会部署在localhost上
  • 解决办法hugo server --bind=202.38.72.23 --baseURL=http://202.38.72.23:1313 -D -d ~/test/public

需要进一步的研究学习

暂无

遇到的问题

暂无

开题缘由、总结、反思、吐槽~~

参考文献

https://blog.nnwk.net/article/107