127.0.0.1localhost 在開發時常會使用到,二者都可以用來做為網址操作進行請求發送,雖然使用上相近,但確有著不同的用法。

會想研究這部份,主要是自已透過本地端開啟 webServer (node.js express),處理 FB 與 Google 第三方登入,特別的 FB 在本地端發送網址請求時,在以 /callback 取得使用者資訊時,在預設的本地端處理機置,是以 localhost 才可以不用帶上 https 的通訊協定處理,也才能在本地端收到回傳的訊息。

當使用到 node-ecpay-aio 介接綠界金流服務,處理本地端開發請求時,使用 localhost 取得回傳資訊的方式確會產生錯誤而無法進行,一定需要使用 127.0.0.1 做為本地端接收的網址接回,也因此了解這之前的差異,特別記錄下來。


127.0.0.1 指地機 ip,透過網卡訪問受限制使用資訊

127.0.0.1 是一個回送地址指本地機,一般用來測試使用。
127.0.0.1 本身相依於網絡卡進行通訊傳輸,並會受到網路防火牆和網絡卡相關的限制。
127.0.0.1 用 ip 的時候,等於本機是通過網路再去訪問本機,可能涉及到網路使用者的許可權。


localhost 不解析成 ip,直接以本機的使用者不帶權限,就可進行造訪本地主機

localhost 不會解析成 ip,也不會佔用網絡卡、網路資源。
localhot 不經網絡卡傳輸,不受網路防火牆和網絡卡相關的的限制。
localhost 進行訪問時,系統帶本機當前使用者的許可權去訪問。


localhost 指向 127.0.0.1,可自行在系統中自定

localhost 指向 127.0.0.1 本地 ip 地址,二個部份是透過設定繫結在了一起,例如 window 的檔案路徑 c:\windows\system32\driver\etc,其中的 127.0.0.1   localhost 就是用來設定 localhost 所使用的本地 DNS 解析域名,這部份是可以自行設定。


參考資料

w3c菜鳥教程 > 科技 > localhost與127 0 0 1的區別
127.0.0.1這個IP的詳細解釋,localhost與127.0.0.1的區別所在