localhost簡介、localhost與 127.0.0.1 及 本機IP 的區別


localhost是什么意思?

相信有人會說是本地ip,曾有人說,用127.0.0.1比localhost好,可以減少一次解析。

看來這個入門問題還有人不清楚,其實這兩者是有區別的。 

localhost與127.0.0.1的區別 

localhost與127.0.0.1的區別是什么?相信有人會說是本地ip,曾有人說,用127.0.0.1比localhost好,可以減少一次解析。

看來這個入門問題還有人不清楚,其實這兩者是有區別的。 

1:

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

在windows等系統的正確解釋是:本機地址(本機服務器) ,他們的解析通過本機的host文件,windows自動將localhost解析為127.0.0.1 

2:

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

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

本機IP 也是通過網卡傳輸的,依賴網卡,並受到網絡防火牆和網卡相關的限制。 

但是本機IP與127.0.0.1的區別是: 127.0.0.1 只能通過本機訪問,而本機IP通過本機訪問也能通過外部訪問  

 

 

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

有時候用localhost可以,但用127.0.0.1就不可以。猜想localhost訪問時,系統帶的本機當前用戶的權限去訪問,

而用127.0.0.1的時候,等於本機是通過網絡再去訪問本機,用的到網絡用戶的權限。 

 

實例:

 1. mysql -h 127.0.0.1 的時候,使用TCP/IP連接, mysql server 認為該連接來自於127.0.0.1或者是”localhost.localdomain” 

 2. mysql -h localhost 的時候,是不使用TCP/IP連接的,而使用Unix socket; 此時,mysql server則認為該client是來自”localhost” 

 3. mysql權限管理中的”localhost”有特定含義:

—— MySQL手冊 5.6.4 ….. A Host value may be a hostname or an IP number, or ‘localhost’ to indicate the local host.  

注意:雖然兩者連接方式有區別,但當localhost 為默認的127.0.0.1時,兩種連接方式使用的權限記錄都是以下的1.row的記錄(因為記錄在前,先被匹配)

*************************** 1. row ***************************                 

Host: localhost                 

User: root      

***************************2. row ***************************                 

Host: 127.0.0.1                 

User: root  

 

證明:

shell> mysql -h 127.0.0.1

mysql> status;

Current user:           root@127.0.0.1

SSL:                    Not in use

Current pager:          stdout

Using outfile:          ”

Using delimiter:        ;

Server version:         5.1.33-log Source distribution

Protocol version:       10

Connection:          127.0.0.1 via TCP/IP

shell> mysql -h locahost

mysql> status;

Current user:           root@localhost

SSL:                   Not in use

Current pager:          stdout

Using outfile:          ”

Using delimiter:        ;

Server version:         5.1.33-log Source distribution

Protocol version:       10

Connection:          Localhost via UNIX socket  

shell> mysql -h XXXX(ip)

mysql> status;

Current user:           root@ip

SSL:                    Not in use

Current pager:          stdout

Using outfile:          ”

Using delimiter:        ;

Server version:         5.1.33-log Source distribution

Protocol version:       10

Connection:          XXXX(ip) via TCP/IP

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM