localhost與127.0.0.1的區別

web開發的不少人一直在用localhost或者127.0.0.1作本地服務器的訪問測試,可是有時候咱們在調試程序的時候,會出現一些莫名其妙匪夷所思的奇怪問題,localhost不能訪問,可是127.0.0.1卻能夠正常訪問,你們以爲他們就是通用的表示本地服務器的兩個不一樣的寫法而已,那麼這裏到底是什麼緣由形成的呢?html

下面就會給你們介紹localhost與127.0.0.1的區別:web

1.概念:

Localhost: 也叫local ,正確的解釋是:本地服務器windows

127.0.0.1: windows等系統的正確解釋是:本機地址(本機服務器)服務器

2. 工做原理:

Localhost: 是不經網卡傳輸的,它不受網絡防火牆和網卡相關的的限制。網絡

127.0.0.1: 是經過網卡傳輸的,它依賴網卡,並受到網絡防火牆和網卡相關的限制。測試

localhost不能訪問但127.0.0.1能夠訪問的問題,究其緣由,極可能是localhost訪問時,系統帶的本機當前用戶的權限去訪問,而用ip的時候,等於本機是經過網絡再去訪問本機,可能涉及到網絡用戶的權限。網站

通常設置程序時本地服務用localhost是最好的,localhost不會解析成IP,也不會佔用網卡、網絡資源。spa

3.localhost不能訪問127.0.0.1能夠訪問的解決方案:

通常狀況下ping localhost 應該爲127.0.0.1 ,可是有時會出現以下狀況:調試

 

地址根本不是「127.0.0.1」,而是「::1:」htm

正常狀況:

 

緣由分析:

IPV6協議將127.0.0.1解析爲 ::1 (127.0.0.1 ipv6的形式)

開始菜單中輸入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.1 localhost

Localhost 127.0.0.1

解決方案2:

一、打開Internert信息管理查看IIS是否啓動,且默認網站時候已經開啓;二、打開http://127.0.0.1/ 看是否能訪問IIS的默認網頁,能訪問則說明IIS已經成功安裝到電腦上,多是沒法解析localhost;三、開始--命令(cmd)--ping localhost,看是否能ping通,從127.0.0.1上返回信息,若是成功則說明能夠解析localhost;四、若是上一步不成功,則用記事本打開C:/WINDOWS/system32/drivers/etc/hosts文件,看裏面是否有包含:127.0.0.1 localhost ,若是沒有則將其添加進去,再查看可否訪問localhost。五、嘗試將網站的主目錄指向另外一個目錄或新建一個虛擬目錄,並在該新目錄建立一個新的網頁文件,如index.html,而後將其加到默認網站的"文檔"項中做爲默認訪問的網頁,從新輸入網址:http://localhost/,看否能訪問。六、仍是不行的話將IIS卸載掉,從新再安裝一次。

相關文章
相關標籤/搜索