当前位置:首页 > 技术文章 > 正文内容

localhost 和 127.0.0.1 的区别

arlanguage4个月前 (01-15)技术文章38

引言

在使用Linux或其他操作系统时,你可能经常会碰到“localhost”和“127.0.0.1”这两个词。虽然它们联系紧密,但区分它们有助于理解许多网络相关的概念[1]。

Localhost是什么?

简单来说,“localhost”是指你当前使用的计算机的主机名,通过TCP/IP等网络协议来访问你自己的机器。当你在浏览器或命令行中输入“localhost”时,实际上是在告诉系统:“Shell想访问这台计算机”。

  • 主机名:连接到网络的设备被赋予的一个名称。
  • Localhost:指的就是你所操作的这台机器。

比如,如果你的计算机上运行了一个Web服务器,你只需在浏览器地址栏输入“http://localhost”,就能访问它。浏览器会与这台计算机上的Web服务器进行通信。

127.0.0.1 是什么?

简单来说,127.0.0.1 是一个回环 IP 地址,它是一个特殊的 IP 地址,总是指向你当前使用的计算机,类似于 localhost。实际上,localhost 就是一个指向 127.0.0.1 的别名。

  • 127.0.0.1:一个特定的 IP 地址,专门保留用于回环网络接口。
  • 回环:指的是将网络数据包从你的计算机发送回计算机自身的过程。

当你在浏览器或命令行中输入 "127.0.0.1",它的作用和输入 "localhost" 是一样的。这两个指令都会让你的计算机指向自身,数据不会离开你的计算机,也就是说,不会有任何网络外的通信发生。这就像是系统在自言自语。

Localhost 和 127.0.0.1 之间的主要区别

虽然 localhost 和 127.0.0.1 都指的是你自己的计算机,但它们之间还是存在一些差异:

格式区别:

  • localhost 是一个主机名。
  • 127.0.0.1 是一个 IP 地址。

使用场景:

  • localhost 可以在命令行、配置文件或网址中作为象征性的名称使用。
  • 127.0.0.1 则用于基于 IP 地址的网络环境,通常在需要直接指定 IP 地址时输入。

网络解析:

  • 当你使用 localhost 时,系统需要将其解析为 IP 地址,这通常是通过查找配置文件中的条目来完成的(例如,在 Linux 系统中的 /etc/hosts 文件)。
  • 127.0.0.1 本身就是一个 IP 地址,所以使用时无需进行解析。

Localhost 和 127.0.0.1 如何协同工作?

尽管 localhost 是一个名称,而 127.0.0.1 是一个 IP 地址,但它们通常通过系统内的 hosts 文件相互关联。在 Linux 系统中,这个文件位于 /etc/hosts。

在这个文件里,你会找到一个类似的条目:

127.0.0.1   localhost

这意味着,当你使用 localhost 时,系统会自动将其识别为 127.0.0.1。你可以把 localhost 看作是 IP 地址 127.0.0.1 的一个更易于人类阅读和记忆的形式。

Shell为什么需要两者?

同时拥有 localhost 和 127.0.0.1 主要是为了提高使用便捷性和灵活性:

  • localhost:相比于输入一串数字
  • 127.0.0.1,输入“localhost”要容易记忆和输入得多。 127.0.0.1:使用具体的 IP 地址可以在网络设置中提供更明确的控制,尤其是在配置服务器或编写脚本时。

你甚至可以在 /etc/hosts 文件中为同一个回环地址指定多个名称(比如“loopback”或“myserver”),这在特定情况下非常有用。

实际应用案例

如果你正在开发一个网页应用,你可能希望在将其部署到线上服务器之前先在本地进行测试。你可以通过 localhost 或 127.0.0.1 来访问你的本地网页服务器。

例如,你可以通过访问本地运行的 Apache 或 Nginx 服务器来进行测试:

http://localhost
OR
http://127.0.0.1

许多网络工具和命令(例如 ping 或curl)可用于通过 localhost 或 127.0.0.1 测试计算机的网络接口。

ping 127.0.0.1
OR
curl http://localhost

这些命令将允许您验证计算机上的环回接口是否正常工作。

总结

总的来说,localhost 和 127.0.0.1 经常被当作同义词使用,因为它们都是指代你自己的计算机。不过,localhost 是一个主机名(更易于人类阅读和理解的名称),而 127.0.0.1 是一个 IP 地址,指向的同样是你的计算机。

不管你选择使用 localhost 还是 127.0.0.1,背后的网络请求机制是一致的,你的计算机都是在与自己进行通信,这对于本地测试和配置服务来说是一个非常有用的功能。

[1]Source: https://www.tecmint.com/difference-between-localhost-and-127-0-0-1/

扫描二维码推送至手机访问。

版权声明:本文由AR编程网发布,如需转载请注明出处。

本文链接:http://www.arlanguage.com/post/881.html

标签: nginx别名
分享给朋友:

“localhost 和 127.0.0.1 的区别” 的相关文章

nginx -> frps -> frpc -> 内网服务器

1. Nginx简介概述Nginx是一个高性能的HTTP和反向代理服务器,也可以作为邮件代理服务器。它以其高并发处理能力、低内存占用和高效的事件驱动模型而闻名。其主要功能包括处理静态文件服务、反向代理、负载均衡等。例如,在处理大量的静态网页请求时,Nginx可以快速地将请求对应的静态文件发送给客户端...

安装Code-server并配置用于多用户的反向代理(Nginx)

1.安装code-servercode-server的项目网址在cdr/code-server.在code-server的README中, 提供了两份部署指南, 一份是用于部署在AWS等云服务的deploy, 另一份则是我们要用的用于部署在本地的quickstart.Guide非常简洁明了, 就三步...

Nginx实战-监控nginx.conf配置文件,配置文件修改自动重启nginx

1.1 实现目标在学习或者进行nginx测试的时候,耗费在 nginx -s reload/stop 上的命令时间很多,修改任意内容都需要重新启动或者停止启动,基本上状态就是在下面5个状态间来回切换vim nginx.conf修改nginx.conf保存nginx.conf重启nginx刷新浏览器....

网站nginx配置限制单个IP访问频率,预防DDOS恶意攻击

一、简介对于网站来说,尤其是流量较大出名的网站,经常遇到攻击,如DDOS攻击等,虽然有些第三方,如Cloudflare可以挡,但对于动态网站PHP来说,只能挡一部分。这时候需要对于单个IP恶意攻击做出限流。nginx的两个模块可以限流。nginx两个限流模块:连接频率限制,ngx_http_lim...

Nginx 最全操作——nginx配置(2)

nginx 配置基本结构main # 全局配置,对全局生效 ├── events # 配置影响 nginx 服务器或与用户的网络连接 ├── http # 配置代理,缓存,日志定义等绝大多数功能和第三方模块的配置 │ ├── upstream # 配置后端服务器具体地址,负...

安卓手机上安装Linux开源模拟器-Termux

什么是TermuxTermux是一款基于 Android 平台的开源 Linux 终端模拟器,使用 pkg(apt) 进行软件包的管理。最重要的是,它无需手机 root 权限,因此,绝大多数 Android 都可以运行。Termux本质上是一个终端模拟器加上一套Linux的最小系统。这里的系统指的是...