localhost和127.0.0.1一样吗?

学习笔记,如有错误,感谢指出!

文章目录

  • 1. 对比方式一
    • 1.1 表示方式:
    • 1.2 主机名解析:
    • 1.3 IPv6 支持:
    • 1.4 可读性和易用性:
    • 1.5 小总结
  • 2. 对比方式二
    • 2.1 原理不同
    • 2.2 概念不同
    • 2.3 指向不同

1. 对比方式一

localhost” 和 “127.0.0.1” 都是用于本地主机(即本地计算机)的网络标识符。它们通常用于在计算机上访问本地服务或测试网络应用程序。尽管它们在大多数情况下可以互换使用,但它们之间有一些细微的区别。

1.1 表示方式:

  • localhost 是一个主机名,而不是直接的 IP 地址。它被配置为解析为本地计算机的回环地址(通常是 127.0.0.1 或者 ::1)。
  • 127.0.0.1 是本地计算机的 IPv4 回环地址。它是一个具体的 IP 地址,用于本地回环通信。

1.2 主机名解析:

  • localhost 通常会被显式地配置在计算机的 hosts 文件中,将其映射到回环地址(127.0.0.1或::1)。这是操作系统的一部分,确保 localhost 解析到回环地址,从而在本地机器上实现自我访问。
  • 127.0.0.1 是一个直接的 IPv4 地址,不需要主机名解析。它是回环地址的标准表示之一。

1.3 IPv6 支持:

  • localhost 可以在 IPv6 环境中使用,对应的 IPv6 地址是 “::1”。这样,无论是使用 IPv4 还是 IPv6 进行本地回环通信,都可以使用 localhost
  • 127.0.0.1 是 IPv4 地址,不直接支持 IPv6。虽然可以通过特殊的 IPv4-IPv6映射方式实现访问,但在纯 IPv6 网络环境中,可能不直接适用。

1.4 可读性和易用性:

  • localhost 是一个友好的、易于记忆的名称。它是通用的本地主机标识符,广泛用于各种操作系统和应用程序。
  • 127.0.0.1 是一个纯粹的 IP 地址,对于不熟悉网络概念的用户可能不太直观。

1.5 小总结

  综上所述,localhost127.0.0.1 都用于本地回环通信,可以实现类似的功能。在大多数情况下,localhost 更常用,因为它更易读、易于记忆,同时还支持 IPv6 环境。但在某些特定的情况下,使用直接的 IP 地址(如 127.0.0.1)可能更适合。

2. 对比方式二

2.1 原理不同

  • localhost的原理是不经网卡传输,不会受到网卡协议的限制。设置程序时本地服务用localhostlocalhost不会解析成IP,也不会占用网卡、网络资源。

  • 127.0.0.1的原理是经过网卡传输的,依赖网卡协议,并受到网卡相关协议的限制。使用IP访问的时候,等于本机是通过网络再去访问本机,会涉及到网络用户的权限。

2.2 概念不同

  • localhost:也可以叫是local,正确的解释是:本地服务器的意思。它可以被配置为任意的IP地址可以通过hosts这个文件进行更改,不过通常情况下都指向:127.0.0.1

  • 127.0.0.1:在windows系统的正确解释是:本机地址的意思。127.0.0.1是保留地址之一,用来检验本机TCP/IP协议栈,可以Ping回送地址。如果回送地址Ping不通,就说明IP堆栈出了故障。如果通的话,表明网络出了问题。

2.3 指向不同

  • localhost 是一个保留域名(RFC 2606) ,为了避免同狭义定义主机名混淆而单独列出。它不仅指向 127.0.0.1 这个IP地址,它同时还可以指向ipv6 的地址 。

  • 127.0.0.1 是回送地址,指本地机,测试使用。回送地址(127.x.x.x)是本机回送地址(Loopback Address),即主机IP堆栈内部的IP地址,主要用于网络软件测试以及本地机进程间通信,无论什么程序,一旦使用回送地址发送数据,协议软件立即返回,不进行任何网络传输。

参考文章:

  1. 对比方式二参考

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/12746.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C++:类和对象(下)---对类和对象深入一些的理解

文章目录 构造函数?初始化列表explicit关键字 匿名对象 构造函数? 初始化列表 前面已然介绍过构造函数,但并未完全结束,构造函数有很多种写法,有带缺省参数的,有全缺省的,不带缺省参数的…但用…

未来的算法备案法规:创新和安全如何兼顾?

随着科技的快速发展,算法正逐步渗透到我们生活的各个方面,从推荐引擎到自动驾驶,从医疗诊断到金融交易,这一现象既充满希望,也充满了挑战。其中一个关键的挑战就是如何设计和实施有效的算法备案法规,以促进…

Linux下查找python路径

本地目前装了几个版本的python,这里记录下查找python路径的方法。 1:whereis命令 whereis python2:which命令 which python与whereis相似,但which会返回第一个找到的执行文件的位置。 3:find命令 find命令可以搜索系…

web流程自动化详解

今天给大家带来Selenium的相关解释操作 一、Selenium Selenium是一个用于自动化Web浏览器操作的开源工具和框架。它提供了一组API(应用程序接口),可以让开发人员使用多种编程语言(如Java、Python、C#等)编写测试脚本&…

题目:2206.将数组划分成相等数对

​​题目来源: leetcode题目,网址:2206. 将数组划分成相等数对 - 力扣(LeetCode) 解题思路: 先对数组进行排序,然后判断从第 2i 个 与 第 2i1 个元素是否全部相等即可(i0,1,2,3,4..…

需求分析案例:消息配置中心

本文介绍了一个很常见的消息推送需求,在系统需要短信、微信、邮件之类的消息推送时,边界如何划分和如何设计技术方案。 1、需求 一个系统,一般会区分多个业务模块,并拆分成不同的业务系统,例如一个商城的架构如下&am…

webpack基础配置

webpack基础 webpack 处理css兼容问题webpack 处理css闪屏问题webpack 优化压缩css代码总结webpack 两种开发模式webpack 基本的功能webpack配置 5概念devServer 生产环境webpack配置实例开发环境webpack配置实例webpack优化 webpack 处理css兼容问题 下载loader 引入 package…

day45-Netflix Mobile Navigation(左边侧边栏动态导航)

50 天学习 50 个项目 - HTMLCSS and JavaScript day45-Netflix Mobile Navigation&#xff08;左边侧边栏动态导航&#xff09; 效果 index.html <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><meta name&…

k8s集群安装v1.20.9

参考网上资料并将异常问题解决&#xff0c;经测试可正常安装集群。 1.我的环境准备 本人使用vmware pro 17新建三个centos7虚拟机&#xff0c;每个2cpu&#xff0c;20GB磁盘存储&#xff0c;内存2GB&#xff0c;其中主节点的内存3GB&#xff0c;可使用外网. 2.所有节点安装D…

33. 本地记事本

本地记事本 html部分 <button class"add"><i class"iconfont icon-jiahao"></i> </button>css部分 *{margin: 0;padding: 0; } body{background-color: #7bdaf3;display: flex;padding-top: 3rem;flex-wrap: wrap; } .add{pos…

每日一题——删除有序数组中的重复项

删除有序数组中的重复项 题目链接 注&#xff1a;本题所采用的方法是建立在移除元素的基础之上的&#xff0c;如果大家对双指针的方法不大了解&#xff0c;或者不会做《移除元素》这一题&#xff0c;建议先去看看&#x1f449;传送门 具体步骤 定义两个指针slow和fast&#…

【计算机网络】传输层协议 -- UDP协议

文章目录 1. 传输层相关知识1.1 端口号1.2 端口号范围划分1.3 知名端口号1.4 一些相关命令 2. UDP协议2.1 UDP协议格式2.2 UDP协议的特点2.3 什么是面向数据报2.4 UDP的缓冲区2.5 UDP使用注意事项2.6 基于UDP的应用层协议 1. 传输层相关知识 传输层是计算机网络中的一个重要层…

【如何训练一个中英翻译模型】LSTM机器翻译模型部署之onnx(python)(四)

系列文章 【如何训练一个中英翻译模型】LSTM机器翻译seq2seq字符编码&#xff08;一&#xff09; 【如何训练一个中英翻译模型】LSTM机器翻译模型训练与保存&#xff08;二&#xff09; 【如何训练一个中英翻译模型】LSTM机器翻译模型部署&#xff08;三&#xff09; 【如何…

云原生架构

1. 何为云原生&#xff1f; 很多IT业内小伙伴会经常听到这个名词&#xff0c;那么什么是云原生呢&#xff1f;云原生是在云计算环境中构建、部署和管理现代应用程序的软件方法。 当今时代&#xff0c;众多企业希望构建高度可扩展、灵活且有弹性的应用程序&#xff0c;以便能够快…

OAID学习

为了在包含用户隐私的同时&#xff0c;让广告商可以了解用户在应用中的行为&#xff0c;安卓系统提供了OAID&#xff08;Open Anonymous Device Identifier&#xff09;用来跟踪设备。OAID是一种非永久的、近似唯一的设备标识符&#xff0c;由字母和数字组成&#xff0c;长度不…

13 亿美金买个寂寞?No!AI 时代的数据行业蓄势待发

6月底&#xff0c;全球数据分析领域彻底炸锅了。 两大数据分析企业Databricks和Snowflake纷纷将目光瞄准了AI大模型。要知道&#xff0c;这两位对手平时没少对台戏&#xff0c;为性能、产品和技术经常开撕。但在今年的自家大会上&#xff0c;两家企业却出奇的一致&#xff0c;…

用sqoop导出hive parquet 分区表到mysql

用sqoop导出hive parquet 分区表到mysql 确保你已经安装并配置好了Sqoop工具&#xff0c;并且可以连接到Hadoop集群和MySQL数据库。 创建一个MySQL表来存储导出的数据。请确保MySQL表的结构与Hive Parquet分区表的结构匹配。 使用Sqoop的export命令来执行导出操作。以下是一…

Mybatis 动态 sql 是做什么的?都有哪些动态 sql?能简述动态 sql 的执行原理不?

OGNL表达式 OGNL&#xff0c;全称为Object-Graph Navigation Language&#xff0c;它是一个功能强大的表达式语言&#xff0c;用来获取和设置Java对象的属性&#xff0c;它旨在提供一个更高的更抽象的层次来对Java对象图进行导航。 OGNL表达式的基本单位是"导航链"&a…

云安全攻防(二)之 云原生安全

云原生安全 什么是云原生安全&#xff1f;云原生安全包含两层含义&#xff1a;面向云原生环境的安全和具有云原生特征的安全 面向云原生环境的安全 面向云原生环境的安全的目标是防护云原生环境中的基础设施、编排系统和微服务系统的安全。这类安全机制不一定会具有云原生的…

关于vue3 按钮权限的控制,使用自定义指令来实现

关于vue3 按钮权限的控制&#xff0c;使用自定义指令来实现 需求 根据不同的权限展示或者隐藏按钮 实现 使用自定义指令来控制按钮&#xff0c;当有权限时就显示&#xff0c;没有就移除元素 代码 src/directives/components/button-permission.ts components文件下可以创…