Iya dan tidak. Ada dua hal berbeda yang disebut nama host.
Nama host "internal" pada dasarnya adalah string yang disimpan oleh kernel. Ini adalah yang dikembalikan oleh hostname
perintah (atau gethostname()
panggilan) dan unik dalam sistem (*) .
Ini sebagian besar digunakan ketika sebuah program ingin menampilkan beberapa pengenal untuk sistem yang sedang berjalan. Misalnya \h
dalam Bash, PS1
memperluas ke nama host. Demikian pula, logfiles syslog-style juga menyertakan nama host pada entri log.
(* Meskipun seperti komentar Stephen Kitt, ruang nama dapat digunakan untuk menunjukkan nama host yang berbeda untuk proses pada sistem yang sama. Itu sebagian besar digunakan untuk kontainer, yang mencoba bertindak seolah-olah mereka adalah sistem yang berbeda.)
Lalu ada juga nama DNS yang digunakan oleh sistem lain untuk mencari alamat IP yang lain. Mungkin ada lebih dari satu nama DNS yang mengarah ke alamat IP yang sama, dan host yang sama.
Hostname internal dan nama DNS tidak harus sama. Misalkan seseorang memiliki server web mereka telah memutuskan untuk memanggil orange
(*) , dengan alamat IP 192.0.2.9
. Itu bisa melayani dua domain yang berbeda dan DNS akan diatur untuk memiliki www.example.org
dan www.example.com
keduanya mengarah ke 192.0.2.9
, sementara nama host internal sistem mungkin orange.example.org
atau hanya orange
. Dalam hal ini, pengaturan DNS biasanya juga akan memiliki pencarian terbalik pada 192.0.2.9
titik kembali ke nama orange.example.org
, tetapi tidak ada yang memaksa itu.
(* karena mereka suka memberi nama server mereka setelah buah. Seseorang mungkin menggunakan webserver1
atau semacamnya, tetapi intinya adalah bahwa itu tidak perlu diberi nama setelah salah satu domain yang sebenarnya.)
Selain itu, hosting virtual mengharuskan browser memberi tahu server web nama situs yang akan diakses. Kalau tidak, server tidak akan tahu situs virtual mana yang coba dijangkau oleh klien. HTTP memiliki Host
header untuk itu.
Apa yang membuat perbedaan antara nama DNS dan hostname internal adalah protokol mDNS
(diimplementasikan misalnya oleh avahi daemon ) dan protokol penemuan lainnya. mDNS memungkinkan host untuk menanyakan semua host lain di jaringan yang sama untuk informasi nama, dan membuat nama host mereka sendiri terlihat di host lain tanpa secara eksplisit mengaturnya di DNS.