localhost 與 127.0.0.1 的區(qū)別

localhost與127.0.0.1的區(qū)別是什么?相信有人會說是本地ip,曾有人說,用127.0.0.1比localhost好,可以減少一次解析。看來這個入門問題還有人不清楚,其實這兩者是有區(qū)別的。

1、

localhost也叫l(wèi)ocal ,正確的解釋是:本地服務器

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

他們的解析通過本機的host文件,windows自動將localhost解析為127.0.0.1

2、

localhot(local)是不經(jīng)網(wǎng)卡傳輸!這點很重要,它不受網(wǎng)絡防火墻和網(wǎng)卡相關的的限制。

127.0.0.1是通過網(wǎng)卡傳輸,依賴網(wǎng)卡,并受到網(wǎng)絡防火墻和網(wǎng)卡相關的限制。

本機IP 也是通過網(wǎng)卡傳輸?shù)模蕾嚲W(wǎng)卡,并受到網(wǎng)絡防火墻和網(wǎng)卡相關的限制。

但是本機IP與127.0.0.1的區(qū)別是:

127.0.0.1 只能通過本機訪問

本機IP 通過本機訪問也能通過外部訪問

一般設置程序時本地服務用localhost是最好的,localhost不會解析成ip,也不會占用網(wǎng)卡、網(wǎng)絡資源。

有時候用localhost可以,但用127.0.0.1就不可以的情況就是在于此。猜想localhost訪問時,系統(tǒng)帶的本機當前用戶的權限去訪問,而用ip的時候,等于本機是通過網(wǎng)絡再去訪問本機,用的到網(wǎng)絡用戶的權限。

7 Responses to localhost 與 127.0.0.1 的區(qū)別

  1. Gushu says:

    不贊成這個說法,看一下host文件就能看出,localhost最終還是被解析到了127.0.0.1

  2. andrew says:

    學習下,但localhost還是要經(jīng)過hosts文件解析成127.0.0.1的,localhost不會解析成ip,也不會占用網(wǎng)卡、網(wǎng)絡資源。
    我也贊成這種說法。

  3. 風聲 says:

    關于第2點 個人認為這個要看具體應用

    如果是mysql這種類似的應用
    localhost 通常是使用本地套接字文件 如mysql一般是/tmp/mysql.sock 所以“不經(jīng)過網(wǎng)卡”。

    但是如果是需要解析成ip的應用程序仍然會使用/etc/hosts 解析為127.0.0.1

    比如ping

    可以用iptables 測試一下。

  4. linux says:

    nginx+php(fastcgi)性能方面比nginx+apache強大嗎

  5. haierspi says:

    棒槌得 解釋.... 按你那么說...
    系統(tǒng)會自動解析localhost?
    那麻煩樓主 去 windows得 HOST文件里 把localhost那一條刪除掉 在去看看 你得 localhost 是否還能正常訪問

  6. yangczcz says:

    試了一下,頂樓主,改掉host的127指向,一樣。

發(fā)表評論

(required)

This site uses Akismet to reduce spam. Learn how your comment data is processed.