在一次網絡課程的聽課中,我突然察覺到自己有個疑惑就是在配置一些服務的時候我們會用到localhost(127.0.0.1)或者0.0.0.0
和當前主機IP這三個。那么具體該怎么使用這三個地址,這三個地址分別代表了什么?
首先我們來講講127.0.0.1,172.0.0.1是回送地址,localhost是本地DNS解析的127.0.0.1的域名,在hosts文件里可以看到。
一般我們通過ping 127.0.0.1來測試本地網絡是否正常。其實從127.0.0.1~127.255.255.255,這整個都是回環地址。這邊還要
注意的一點就是localhost在了IPV4的是指127.0.0.1而IPV6是指::1。當我們在服務器搭建了一個web服務器的時候如果我們
監聽的端口時127.0.0.1:端口號 的 時候,那么這個web服務器只可以在服務器本地訪問了,在別的地方進行訪問是不行的。
(127.0.0.1只可以在本地ping自己的,那么你監聽這個就只可以在本地訪問了)
然后我們來講講0.0.0.0,如果我們直接ping 0.0.0.0是不行的,他在IPV4中表示的是無效的目標地址,但是在服務器端它表示
本機上的所有IPV4地址,如果一個服務有多個IP地址(192.168.1.2和10.1.1.12),那么我們如果設置的監聽地址是0.0.0.0那
么我們無論是通過IP192.168.1.2還是10.1.1.12都是可以訪問該服務的。在路由中,0.0.0.0表示的是默認路由,即當路由表中
沒有找到完全匹配的路由的時候所對應的路由。
最后講講本地IP, 如果我們監聽的是IP的話那么只有通過監聽的IP才可以訪問我們的對應的服務。
以上就是我對127.0.0.1和0.0.0.0和本機IP的區別,如果有錯,歡迎指出。