技術(shù)頻道導(dǎo)航
HTML/CSS
.NET技術(shù)
IIS技術(shù)
PHP技術(shù)
Js/JQuery
Photoshop
Fireworks
服務(wù)器技術(shù)
操作系統(tǒng)
網(wǎng)站運(yùn)營(yíng)

贊助商

分類目錄

贊助商

最新文章

搜索

localhost不能訪問127.0.0.1可以訪問的原因及解決方法

作者:admin    時(shí)間:2013-12-16 10:58:47    瀏覽:

有時(shí)候我們?cè)谡{(diào)試程序的時(shí)候,會(huì)出現(xiàn)一些莫名其妙匪夷所思的奇怪問題,localhost不能訪問但127.0.0.1可以訪問的問題就是其中之一。

我估計(jì)大多數(shù)人都不會(huì)去想localhost到底與127.0.0.1有什么不同,就比如我,有時(shí)候用http://localhost/來訪問本地服務(wù)器網(wǎng)頁(yè),有時(shí)則用http://127.0.0.1/來訪問,我覺得他們是通用的表示本地服務(wù)器的兩個(gè)不同的寫法而已,就好比一個(gè)網(wǎng)頁(yè)可以通過域名來訪問也可以通過IP來訪問一樣,localhost代表的是域名,而127.0.0.1則代表IP地址。

我的理解對(duì)不對(duì)呢?我們現(xiàn)在來看看更專業(yè)的解讀吧。

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

要比較兩個(gè)東西有什么不同,首先要弄清兩者的概念。所以,我們從概念開始。

localhost:也叫l(wèi)ocal ,正確的解釋是:本地服務(wù)器
127.0.0.1:在windows等系統(tǒng)的正確解釋是:本機(jī)地址(本機(jī)服務(wù)器)

一個(gè)是“本地”,一個(gè)是“本機(jī)”。不過從這兩個(gè)詞來看,還是不能比較兩者的區(qū)別。我們?cè)倏纯此麄兊墓ぷ髟怼?/p>

localhot:是不經(jīng)網(wǎng)卡傳輸?shù)?,它不受網(wǎng)絡(luò)防火墻和網(wǎng)卡相關(guān)的的限制。
127.0.0.1:是通過網(wǎng)卡傳輸?shù)?,它依賴網(wǎng)卡,并受到網(wǎng)絡(luò)防火墻和網(wǎng)卡相關(guān)的限制。

通過上述概念和工作原理的比較,我想現(xiàn)在大家都心里有譜了吧,知道localhost與127.0.0.1有什么不同了。文中開頭提到的localhost不能訪問但127.0.0.1可以訪問的問題,究其原因,很可能是localhost訪問時(shí),系統(tǒng)帶的本機(jī)當(dāng)前用戶的權(quán)限去訪問,而用ip的時(shí)候,等于本機(jī)是通過網(wǎng)絡(luò)再去訪問本機(jī),可能涉及到網(wǎng)絡(luò)用戶的權(quán)限。

另外,我們現(xiàn)在也應(yīng)該明白了一個(gè)道理,那就是一般設(shè)置程序時(shí)本地服務(wù)用localhost是最好的,localhost不會(huì)解析成IP,也不會(huì)占用網(wǎng)卡、網(wǎng)絡(luò)資源。

localhost不能訪問127.0.0.1可以訪問的解決方案

一般情況下ping localhost 應(yīng)該為127.0.0.1 ,但是有時(shí)會(huì)出來下面這個(gè)東西:

>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協(xié)議將127.0.0.1解析為 ::1 (127.0.0.1 ipv6的形式)
Vista開始菜單中輸入cmd回車后打開命令提示符,輸入ping localhost默認(rèn)的就會(huì)出現(xiàn)返回的數(shù)據(jù)包并不是127.0.0.1而是::1。這就是Ipv6格式的本地地址,

解決方案1

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

127.0.0.1 localhost

如果沒有則將其添加進(jìn)去,再查看能否訪問localhost。

host文件部分內(nèi)容

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

解決方案2

1、打開Internert信息管理查看IIS是否啟動(dòng),且默認(rèn)網(wǎng)站時(shí)候已經(jīng)開啟;
2、打開http://127.0.0.1/ 看是否能訪問IIS的默認(rèn)網(wǎng)頁(yè),能訪問則說明IIS已經(jīng)成功安裝到電腦上,可能是無法解析localhost;
3、開始--命令(cmd)--ping localhost,看是否能ping通,從127.0.0.1上返回信息,如果成功則說明可以解析localhost;
4、如果上一步不成功,則用記事本打開C:/WINDOWS/system32/drivers/etc/hosts文件,看里面是否有包含:127.0.0.1 localhost ,如果沒有則將其添加進(jìn)去,再查看能否訪問localhost。
5、嘗試將網(wǎng)站的主目錄指向另一個(gè)目錄或新建一個(gè)虛擬目錄,并在該新目錄創(chuàng)建一個(gè)新的網(wǎng)頁(yè)文件,如index.html,然后將其加到默認(rèn)網(wǎng)站的"文檔"項(xiàng)中作為默認(rèn)訪問的網(wǎng)頁(yè),重新輸入網(wǎng)址:http://localhost/,看否能訪問。
6、還是不行的話將IIS卸載掉,重新再安裝一次。

解決問題的思路

1、ping一下localhost,這個(gè)是關(guān)鍵,看看是否能ping通,然后看解析到那個(gè)ip地址下去了
2、然后查看本機(jī)的hosts文件,看看是否有被修改,如果被修改,就改回正常的模式
3、解決問題本質(zhì),ipconfig看看網(wǎng)絡(luò)是否正常,如果不正常就進(jìn)行修復(fù)
4、用殺毒軟件或者360等修復(fù)軟件進(jìn)行掃描,看看是否存在惡意插件或者病毒,然后清除,一勞永逸!
5、多動(dòng)腦,想辦法解決問題,善于用搜索引擎。

標(biāo)簽: 服務(wù)器  
相關(guān)文章
    x