localhost与127.0.0.1 的区别

原文链接: localhost与127.0.0.1 的区别

上一篇: css 背景background

下一篇: MongoDB 基础 操作

localhost与127.0.0.1的概念和工作原理之不同

要比较两个东西有什么不同,首先要弄清两者的概念。所以,我们从概念开始。

localhost:也叫local ,正确的解释是:本地服务器
127.0.0.1:在windows等系统的正确解释是:本机地址(本机服务器)

一个是“本地”,一个是“本机”。不过从这两个词来看,还是不能比较两者的区别。我们再看看他们的工作原理。

localhot:是不经网卡传输的,它不受网络防火墙和网卡相关的的限制。
127.0.0.1:是通过网卡传输的,它依赖网卡,并受到网络防火墙和网卡相关的限制。

通过上述概念和工作原理的比较,我想现在大家都心里有谱了吧,知道localhost与127.0.0.1有什么不同了。文中开头提到的localhost不能访问但127.0.0.1可以访问的问题,究其原因,很可能是localhost访问时,系统带的本机当前用户的权限去访问,而用ip的时候,等于本机是通过网络再去访问本机,可能涉及到网络用户的权限。

另外,我们现在也应该明白了一个道理,那就是一般设置程序时本地服务用localhost是最好的,localhost不会解析成IP,也不会占用网卡、网络资源。

localhost不能访问127.0.0.1可以访问的解决方案

一般情况下ping localhost 应该为127.0.0.1 ,但是有时会出来下面这个东西:

>ping localhost
reply from ::1: times<1ms
reply from ::1: times<1ms
reply from ::1: times<1ms

地址根本不是“127.0.0.1”,而是“::1:”

>ping 127.0.0.1 正常
reply from 127.0.0.1 : bytes=32 times<1ms
reply from 127.0.0.1 : bytes=32 times<1ms
reply from 127.0.0.1 : bytes=32 times<1ms

原因分析

IPV6协议将127.0.0.1解析为 ::1 (127.0.0.1 ipv6的形式)
Vista开始菜单中输入cmd回车后打开命令提示符,输入ping localhost默认的就会出现返回的数据包并不是127.0.0.1而是::1。这就是Ipv6格式的本地地址,

解决方案1

修改host文件用记事本打开C:/WINDOWS/system32/drivers/etc/hosts文件,看里面是否有包含:

127.0.0.1 localhost

如果没有则将其添加进去,再查看能否访问localhost。

host文件部分内容

# 127.0.0.1 localhost
# ::1 localhost
127.0.0.1localhost
localhost 127.0.0.1

解决方案2

1、打开Internert信息管理查看IIS是否启动,且默认网站时候已经开启;
2、打开http://127.0.0.1/ 看是否能访问IIS的默认网页,能访问则说明IIS已经成功安装到电脑上,可能是无法解析localhost;
3、开始--命令(cmd)--ping localhost,看是否能ping通,从127.0.0.1上返回信息,如果成功则说明可以解析localhost;
4、如果上一步不成功,则用记事本打开C:/WINDOWS/system32/drivers/etc/hosts文件,看里面是否有包含:127.0.0.1 localhost ,如果没有则将其添加进去,再查看能否访问localhost。
5、尝试将网站的主目录指向另一个目录或新建一个虚拟目录,并在该新目录创建一个新的网页文件,如index.html,然后将其加到默认网站的"文档"项中作为默认访问的网页,重新输入网址:http://localhost/,看否能访问。
6、还是不行的话将IIS卸载掉,重新再安装一次

1,什么是环回地址??与127.0.0.1的区别呢??

环回地址是主机用于向自身发送通信的一个特殊地址(也就是一个特殊的目的地址)。

可以这么说:同一台主机上的两项服务若使用环回地址而非分配的主机地址,就可以绕开TCP/IP协议栈的下层。(也就是说:不用再通过什么链路层,物理层,以太网传出去了,而是可以直接在自己的网络层,运输层进行处理了)

IPv4的环回地址为:127.0.0.0到127.255.255.255都是环回地址(只是有两个特殊的保留),此地址中的任何地址都不会出现在网络中

网络号为127的地址根本就不是一个网络地址(因为产生的IP数据报就不会到达外部网络接口中,是不离开主机的包)

当操作系统初始化本机的TCP/IP协议栈时,设置协议栈本身的IP地址为127.0.0.1(保留地址),并注入路由表。当IP层接收到目的地址为127.0.0.1(准确的说是:网络号为127的IP)的数据包时,不调用网卡驱动进行二次封装,而是立即转发到本机IP层进行处理,由于不涉及底层操作。因此,ping 127.0.0.1一般作为测试本机TCP/IP协议栈正常与否的判断之一。

所以说:127.0.0.1是保留地址之一,只是被经常的使用,来检验本机TCP/IP协议栈而已

如果我们可以ping通的话,就说明:本机的网卡和IP协议安装都没有问题。(跟我们当前主机有没有联网没有一点关系)

localhost首先是一个域名(如同:www.baidu.com),也是本机地址,它可以被配置为任意的IP地址(也就是说,可以通过hosts这个文件进行更改的),不过通常情况下都指向:(如下)
IPv4:表示   127.0.0.1

IPv6:表示   [::1]

整个127.*网段通常被用作loopback网络接口的默认地址,按照惯例通常设置为127.0.0.1。我们当前这个主机上的这个地址,别人不能访问,即使访问,也是访问自己。因为每一台TCP/IP协议栈的设备基本上都有local/127.0.0.1

本机IP,我们可以理解为本机有三块网卡,一块网卡叫做loopback(虚拟网卡),一块叫做ethernet(有线网卡),一块叫做wlan(你的无线网卡),

联网,网卡传输,受防火墙和网卡限制

用于本机和外部访问

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值