问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

127.0.0.0和localhost是一回事吗?

创作时间:
作者:
@小白创作中心

127.0.0.0和localhost是一回事吗?

引用
CSDN
1.
https://blog.csdn.net/vpertj/article/details/137171651

在计算机网络中,localhost和127.0.0.1是两个经常被提及的概念,它们之间有什么区别?为什么localhost总是解析到127.0.0.1?本文将从DNS解析、IP地址、端口等多个维度,深入浅出地解释这些网络基础知识。

什么是localhost?

localhost是一个域名,与我们日常上网使用的域名并无本质区别,只是它仅在本地有效。从字面意思来看,"local"意味着本地,因此,不同机器上的localhost互不关联,各自独立。

要理解localhost,我们需要先了解用户是如何通过域名访问网络程序的。以访问百度为例:

  1. 当用户在浏览器中输入baidu.com时,浏览器会首先查询DNS(域名系统)以获取baidu.com对应的IP地址。就像快递需要根据通信地址层层转发一样,网络通信也需要通过IP地址来定位目标程序。

  2. DNS就像一个公司黄页,记录着域名与IP地址的对应关系。购买域名后,通常需要通过域名服务商将域名解析到特定的IP地址。

  3. IP地址可以分为内网IP和公网IP。个人电脑的IP地址通常用于内网定位,而对外提供服务的程序则需要绑定公网IP,这通常由网络服务运营商提供。

  4. 浏览器获取到IP地址后,会向该地址发起请求。网络传输过程中,会经过一系列路由器的转发,最终到达目标计算机。

  5. 由于一台计算机上可能运行多个网络程序,因此需要通过端口号来区分。默认情况下,http使用80端口,https使用443端口。

localhost和127.0.0.1的区别

有了上述知识储备,我们就能轻松理解localhost和127.0.0.1的关系:

  • localhost是一个域名,专门用于表示本机。
  • 127.0.0.1是IP地址,表示当前机器的本地IP地址,主要用于开发和测试网络程序。
  • localhost解析到127.0.0.1的过程并不经过DNS,而是通过每台计算机上的hosts文件实现的。这是一个约定俗成的规则,可以随意更改,但通常保持不变。

域名的等级划分

域名可以分为顶级域名、二级域名和三级域名等。例如,baidu.com中,.com是顶级域名,baidu是二级域名,www是三级域名。而localhost作为一个特殊的顶级域名,其唯一目的是用于访问当前计算机。

多网站共用一个IP和端口

虽然不同的网络程序不能使用相同的端口,但通过Web服务器(如Nginx)的主机头功能,可以实现多个网站共用一个IP和端口。具体来说,就是在配置网站时指定其使用的域名,当请求到达时,Web服务器会根据请求中的域名找到对应的网站并进行转发。

私有IP地址

除了127.0.0.1,还有许多私有IP地址段,主要用于局域网内部通信。常见的私有IP地址段包括:

  • A类:10.0.0.0至10.255.255.255
  • B类:172.16.0.0至172.31.255.255
  • C类:192.168.0.0至192.168.255.255

这些私有IP地址仅供局域网内部使用,不能在公网上使用。此外,还有一些保留的IP地址段,如127.0.0.0至127.255.255.255用于本地回环测试,169.254.0.0至169.254.255.255用于临时局域网分配。

近年来,随着IPv4地址的日益稀缺,运营商开始使用类似100.64.x.x的私有IP地址段,通过多层局域网的方式分配IP地址。

IPv6简介

为了解决IPv4地址不足的问题,IPv6应运而生。IPv6地址采用128位长度,格式为XXXX:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX,每个X是一个16进制数。虽然IPv6具有巨大的地址空间,但目前普及程度仍有限。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号