Dengan asumsi yang berikut ini didefinisikan dalam .../hosts
:
127.0.0.1 localhost
Apa, jika ada, perbedaan aktual antara menggunakan 127.0.0.1
dan localhost
sebagai nama server, terutama ketika menekan proses yang berjalan secara lokal yang mendengarkan koneksi?
sockets
networking
dns
localhost
Bohemian
sumber
sumber
localhost
protokol independen, baik IPv4 dan IPv6 akan berfungsi.Jawaban:
Nah, yang paling mungkin perbedaan adalah bahwa Anda masih harus melakukan yang sebenarnya lookup dari
localhost
suatu tempat.Jika Anda menggunakan
127.0.0.1
, maka perangkat lunak (cerdas) hanya akan mengubahnya secara langsung menjadi alamat IP dan menggunakannya. Beberapa implementasigethostbyname
akan mendeteksi format bertitik (dan mungkin format IPv6 yang setara) dan tidak melakukan pencarian sama sekali.Kalau tidak, nama itu harus diselesaikan. Dan tidak ada jaminan bahwa
hosts
file Anda benar-benar akan digunakan untuk resolusi itu (pertama, atau sama sekali) sehinggalocalhost
dapat menjadi alamat IP yang sama sekali berbeda .Maksud saya, pada beberapa sistem,
hosts
file lokal dapat di-bypass. Thehost.conf
berkas kontrol ini pada Linux (dan banyak mesin-mesin Unix lainnya).sumber
/etc/nsswitch.conf
memilih apakahhosts
atau DNS digunakan pertama kali untuk pencarian host, jika nss sedang berjalan.Wikipedia merangkum ini dengan baik:
Satu-satunya perbedaan adalah bahwa itu akan mencari di DNS untuk sistem apa yang
localhost
diputuskan. Pencarian ini sangat, sangat cepat. Misalnya, agarstackoverflow.com
Anda mengetiknya di bilah alamat (atau menggunakan bookmarklet yang menunjuk di sini). Either way, Anda sampai di sini melalui nama host.localhost
menyediakan fungsionalitas yang serupa.sumber
beberapa aplikasi akan memperlakukan "localhost" secara khusus. klien mysql akan memperlakukan localhost sebagai permintaan untuk terhubung ke soket domain unix lokal alih-alih menggunakan tcp untuk terhubung ke server pada 127.0.0.1. Ini mungkin lebih cepat, dan mungkin berada di zona otentikasi yang berbeda.
Saya tidak tahu aplikasi lain yang memperlakukan localhost berbeda dari 127.0.0.1, tetapi mungkin ada beberapa.
sumber
Nah, dengan IP lebih cepat.
Pada dasarnya, ketika Anda memanggil dengan nama server, itu dikonversi ke IP asli.
Tetapi akan sulit untuk menghafal IP, karena alasan ini nama domain dibuat.
Secara pribadi saya menggunakan
http://localhost
bukanhttp://127.0.0.1
atauhttp://username
.sumber
localhost
dalam cara khusus . Aplikasi lain kemungkinan masih akan mencarilocalhost
.Tidak ada yang berbeda. Yang satu lebih mudah diingat daripada yang lain. Secara umum, Anda menetapkan nama untuk dikaitkan dengan alamat IP. Anda tidak harus menentukan localhost untuk 127.0.0.1, Anda bisa menentukan nama yang Anda inginkan.
sumber
Perbedaan utama adalah bahwa koneksi dapat dilakukan melalui Unix Domain Socket, seperti yang dinyatakan di sini: localhost vs. 127.0.0.1
sumber