127.0.0.1和localhost的區別

    今天配置了一個web服務,測試時發現localhost:2002能訪問而127.0.0.1:2002不能訪問,域名加端口號更不能訪問。頭大了半天。之前沒細想過兩者的區別,總覺得它們是通用的表示本地服務器的兩個不一樣的寫法而已,就比如一個網頁能夠經過域名來訪問也能夠經過IP來訪問同樣,localhost表明的是域名,而127.0.0.1則表明IP地址。web

    經過查資料才發現兩者仍是有區別的。兩者的概念和工做原理是不一樣的:windows

  • localhost:也叫local ,正確的解釋是:本地服務器
  • 127.0.0.1:在windows等系統的正確解釋是:本機地址(本機服務器)

        一個是「本地」,一個是「本機」。不過從這兩個詞來看,仍是不能比較二者的區別。咱們再看看他們的工做原理。服務器

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

        經過上述概念和工做原理的比較,知道localhost與127.0.0.1有什麼不一樣了。文中開頭提到的localhost能訪問但127.0.0.1不能夠訪問的問題,究其緣由,極可能是localhost訪問時,並無經過網卡,而用ip的時候,是經過網卡傳輸的,它依賴網卡,並受到網絡防火牆和網卡相關的限制,涉及到網絡用戶的權限。而我測試用的2002端口受防火牆的限制了因此訪問不到,改爲不受限的端口號問題就解決了。網絡

        另外,如今也明白了一個道理,那就是通常設置程序時本地服務用localhost是最好的,localhost不會解析成IP,也不會佔用網卡、網絡資源。測試

相關文章
相關標籤/搜索