Cara Mengakses Nama Host dalam URL dengan Host Name Location
Dalam pengembangan web, kita sering kali perlu mengakses nama host dari URL yang sedang digunakan oleh pengguna. Ini berguna untuk berbagai keperluan seperti redirect, validasi domain, pengaturan konfigurasi, atau debugging. JavaScript menyediakan cara mudah untuk mendapatkan nama host dengan menggunakan location.hostname
.
Dengan location.hostname
, kita bisa mengetahui domain dari URL tanpa protokol dan tanpa path, memungkinkan kita untuk menangani navigasi dan kontrol akses dengan lebih fleksibel.
Di artikel ini, kita akan membahas cara menggunakan location.hostname
, perbedaannya dengan properti lainnya di window.location
, serta contoh implementasi dalam proyek web.
Apa Itu Host Name Location?
location.hostname
adalah properti dalam JavaScript yang mengembalikan nama domain dari URL tanpa menyertakan protokol (http://
atau https://
) dan tanpa path tambahan.
Contoh jika kita mengakses halaman dengan URL:
https://www.example.com:8080/page.html
Maka jika kita menjalankan kode berikut:
console.log(location.hostname);
Output yang dihasilkan:
www.example.com
Catatan:location.hostname
tidak akan menyertakan port. Jika ingin mendapatkan domain beserta port, gunakanlocation.host
.
Perbedaan location.hostname
dan location.host
Properti | Output | Termasuk Port? |
---|---|---|
location.hostname |
www.example.com |
❌ Tidak |
location.host |
www.example.com:8080 |
✅ Ya |
Gunakanlocation.hostname
jika hanya perlu nama domain, danlocation.host
jika ingin mendapatkan domain beserta portnya.
Cara Menggunakan location.hostname
1. Menampilkan Nama Host dalam Halaman Web
Kita bisa menampilkan nama host di dalam halaman web agar pengguna tahu domain yang sedang mereka akses.
<p>Nama Host: <span id="host"></span></p>
<script>
document.getElementById("host").textContent = location.hostname;
</script>
Jika pengguna membuka halaman dari https://sub.example.com
, maka yang ditampilkan di halaman akan menjadi:
Nama Host: sub.example.com
2. Redirect Berdasarkan Nama Host
Kadang kita ingin mengalihkan pengguna ke domain tertentu berdasarkan nama host yang mereka gunakan.
if (location.hostname === "staging.example.com") {
location.href = "https://www.example.com";
}
Jika pengguna mengakses staging.example.com, mereka akan dialihkan ke versi utama di www.example.com secara otomatis.
3. Menyesuaikan Konfigurasi Berdasarkan Host
Dalam pengembangan aplikasi berbasis domain, kita bisa menggunakan location.hostname
untuk mengatur konfigurasi API atau layanan yang berbeda berdasarkan domain.
let apiBaseUrl;
if (location.hostname === "localhost") {
apiBaseUrl = "http://localhost:5000/api";
} else if (location.hostname === "staging.example.com") {
apiBaseUrl = "https://staging-api.example.com";
} else {
apiBaseUrl = "https://api.example.com";
}
console.log("API Base URL: ", apiBaseUrl);
Dengan cara ini, aplikasi akan otomatis menggunakan base URL API yang sesuai dengan domain yang sedang diakses.
Kapan Harus Menggunakan location.hostname
?
✅ Jika ingin menampilkan nama host dalam halaman web untuk referensi pengguna.
✅ Jika ingin mengalihkan pengguna dari domain tertentu ke domain lain.
✅ Jika ingin menyesuaikan konfigurasi aplikasi berdasarkan lingkungan domain (development, staging, production).
❌ Jangan gunakan jika ingin mendapatkan jalur atau parameter dari URL, karena location.hostname
hanya mengembalikan nama host.
Kesimpulan
location.hostname
digunakan untuk mendapatkan nama host dalam URL tanpa menyertakan protokol atau path.- Berguna untuk redirect, debugging, dan konfigurasi aplikasi berbasis domain.
- Berbeda dengan
location.host
, karenalocation.hostname
tidak menyertakan port. - Dapat digunakan untuk menampilkan nama domain saat ini dalam halaman, atau mengalihkan pengguna berdasarkan domain tertentu.
Dengan memahami cara kerja Host Name Location, kita bisa membuat aplikasi web yang lebih fleksibel, aman, dan dinamis sesuai dengan kebutuhan pengguna!