使用本地主机、127.0.0.1、计算机名称和静态 IP 的区别

本文关键字:静态 IP 区别 计算机名 主机 | 更新日期: 2023-09-27 18:37:09

我想使用在本地机器上运行的 Web 服务(不要问我为什么,我没有制作 Web 服务,只需要使用它),我想知道是否有任何区别(技术上和性能)通过 localhost、127.0.0.1、计算机名称和计算机静态 IP 引用它?这是至关重要的,因为我几乎每 30 秒就需要从数据库内的表触发器使用 Web 服务(同样,不要问我为什么,在这种情况下,这是我所能做的)。Web 服务是用 ASP.NET 编写的,从数据库访问它的对象是用 C#.NET 创建的 CLR 用户定义函数

编辑:对不起,30秒是一个糟糕的估计。这是一个交易表,其中近百家商店的销售额在线保存。它是可变的时间段,从事务之间的几分钟到几毫秒不等。

使用本地主机、127.0.0.1、计算机名称和静态 IP 的区别

>与"实时"相比,30 秒确实很长,因此您使用的 IP 不会有任何区别,并且对您的应用程序是透明的。

这取决于 Web 服务的公开位置(侦听)。

localhost127.0.0.1将在内部本地主机接口上联系它。其他两种方法将在特定网卡上查找服务。

从性能的角度来看,使用 IP 地址的速度要快一些,因为它避免了 DNS 查找,但在这种情况下,DNS查找将在本地解析并且几乎是即时的。 (30 秒是相对无穷大,因此这不能成为瓶颈。

从维护的角度来看,静态 IP 地址最有可能咬您。

获胜者:127.0.0.1localhost .

有区别。

虽然所有四个颁发机构名称都会导致与同一主机建立TCP连接,但区别在于HTTP:HTTP具有浏览器或客户端发送的"Host:"标头,并且此标头的内容是URI颁发机构名称的主机名部分。

Host 标头很重要,因为它是 IIS 等 Web 服务器将请求路由到正确网站的方式,即使多个网站共享一个 IP 地址(HTTP1.1 具有主机标头,HTTP1.0 没有,因此早在 1990 年代中期,每个网站都需要自己的 IP 地址)。

如果您的 Web 服务在使用主机标头的服务器上运行,或者如果它使用主机标头本身,那么它确实很重要。

在性能方面,差异可以忽略不计,因为"localhost"和"%computername%"应该永久存储在DNS客户端的缓存中,但避免在应用程序中硬编码主机名是常识。

没有真正的性能影响,但最快的应该是 127.0.0.1 和静态 IP,因为无需在主机文件或 DNS 上进行查找。而且由于你有 30 秒的窗口,这真的无关紧要。

没有真正的区别,但是它们都会转换为 127.0.0.1,所以你也可以先提供这个。

如果您签出主机文件,您可以看到 localhost 直接转换为 127.0.0.1