127.0.0.1 與 localhost 在開發時常會使用到,二者都可以用來做為網址操作進行請求發送,雖然使用上相近,但確有著不同的用法。
會想研究這部份,主要是自已透過本地端開啟 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的區別所在