Mengetahui Domain dari URL Menggunakan Host Location
Ketika mengembangkan aplikasi berbasis web, sering kali kita perlu mengetahui domain dari URL saat ini untuk keperluan validasi, redirection, atau pengaturan konfigurasi berdasarkan lingkungan (development, staging, atau production). Dalam JavaScript, kita bisa menggunakan location.host
atau location.hostname
untuk mendapatkan informasi domain dengan mudah.
Dalam artikel ini, kita akan membahas cara mengakses domain dari URL menggunakan Host Location, perbedaannya dengan properti lain di objek location
, serta beberapa contoh penggunaannya dalam proyek web.
Apa Itu Host Location?
location.host
adalah properti dalam JavaScript yang mengembalikan nama domain beserta port dari URL yang sedang diakses.
Contoh jika kita membuka halaman di browser dengan URL:
https://example.com:8080/page.html
Maka jika kita menjalankan kode berikut di konsol browser:
console.log(location.host);
Outputnya akan menjadi:
example.com:8080
Sedangkan jika kita hanya ingin mendapatkan nama domain tanpa port, kita bisa menggunakan location.hostname
:
console.log(location.hostname);
Outputnya:
example.com
Perbedaan location.host
dan location.hostname
Properti | Output | Termasuk Port? |
---|---|---|
location.host |
example.com:8080 |
✅ Ya |
location.hostname |
example.com |
❌ Tidak |
Jadi, jika website menggunakan port selain 80 (HTTP) atau 443 (HTTPS), location.host
akan mengembalikan domain + port, sementara location.hostname
hanya mengembalikan nama domain saja.
Cara Menggunakan Host Location dalam JavaScript
1. Menampilkan Domain di Halaman
Kita bisa menampilkan domain yang sedang digunakan langsung di dalam halaman web:
<p>Domain saat ini: <span id="domain"></span></p>
<script>
document.getElementById("domain").textContent = location.hostname;
</script>
Jika pengguna mengakses halaman ini dari https://mywebsite.com
, teks dalam paragraf akan menjadi:
Domain saat ini: mywebsite.com
2. Redirect Berdasarkan Domain
Dalam beberapa kasus, kita ingin mengarahkan pengguna ke domain tertentu berdasarkan domain yang sedang mereka gunakan.
if (location.hostname === "staging.mywebsite.com") {
location.href = "https://production.mywebsite.com";
}
Jika pengguna mengakses staging.mywebsite.com, mereka akan dialihkan ke domain production secara otomatis.
3. Menyesuaikan Konfigurasi Berdasarkan Domain
Jika kita memiliki berbagai lingkungan (development, staging, production), kita bisa menggunakan location.hostname
untuk mengatur konfigurasi yang berbeda:
let apiURL;
if (location.hostname === "localhost") {
apiURL = "http://localhost:3000/api";
} else if (location.hostname === "staging.mywebsite.com") {
apiURL = "https://staging-api.mywebsite.com";
} else {
apiURL = "https://api.mywebsite.com";
}
console.log("Base API URL: ", apiURL);
Kode ini memastikan bahwa aplikasi menggunakan API yang sesuai berdasarkan domain yang digunakan.
Kapan Harus Menggunakan Host Location?
✅ Jika ingin menampilkan domain saat ini dalam halaman web.
✅ Jika ingin mengalihkan pengguna ke domain tertentu berdasarkan lingkungan aplikasi.
✅ Jika ingin menyesuaikan konfigurasi aplikasi berdasarkan domain yang sedang digunakan.
❌ Jangan gunakan jika ingin mendapatkan jalur atau parameter dari URL, karena location.host
hanya mengembalikan domain dan port.
Kesimpulan
location.host
digunakan untuk mendapatkan domain + port dalam URL.location.hostname
hanya mengembalikan nama domain tanpa port.- Berguna untuk redirect, konfigurasi lingkungan, dan menampilkan domain di halaman.
- Tidak dapat digunakan untuk mendapatkan path atau query string dari URL.
Dengan memahami cara kerja Host Location, kita bisa membuat aplikasi web yang lebih fleksibel dan dinamis, sesuai dengan kebutuhan lingkungan yang sedang berjalan!