Javascript dapatkan domain dari url

Istilah alternatif untuk alamat web adalah URL. Misalnya, tutorialpoint. com adalah URL berbasis kata. Alamat IP juga dapat digunakan sebagai URL (mis. 192. 168. 2. 24). Karena nama lebih mudah diingat daripada angka, sebagian besar pengguna mengirimkan alamat nama saat mencari di internet

URL adalah metode di mana browser web meminta server web untuk halaman tertentu. Sintaks/format URL diberikan di bawah ini

Sintaksis

scheme://prefix.domain:port/path/filename

Parameter

  • skema − menentukan jenis layanan Internet (http atau https digunakan secara umum)

  • awalan − menentukan awalan domain (www adalah default untuk http)

  • domain − mendeskripsikan nama domain internet (mis. tutorialspoint. com)

  • port − menentukan nomor port host (80 adalah default untuk http)

  • path − menetapkan jalur sisi server

  • filename − menentukan nama sumber daya atau dokumen

Skema URL Khas

HTTP - protokol transfer hypertext

HTTP digunakan di halaman web umum. Ini bukan protokol terenkripsi

HTTPS - protokol transfer hypertext yang aman

HTTPS digunakan di halaman web yang aman. Ini adalah protokol terenkripsi

FTP - Protokol transfer file

FTP digunakan untuk mengunduh atau mengunggah file

Sekarang mari kita lihat cara mendapatkan nama host di URL

Menggunakan properti hostname dari lokasi jendela saat ini

Di bagian ini, kita akan melihat cara mendapatkan nama host di url menggunakan properti nama host dari lokasi jendela saat ini

Sintaksis

Ikuti sintaks di bawah ini untuk mendapatkan nama host

First
window.location.hostname;
_

Di sini kita mengakses properti hostname dari lokasi jendela saat ini

Algoritma

  • LANGKAH 1 - Dapatkan URL saat ini

  • LANGKAH 2 - Menampilkan nama host dari URL saat ini menggunakan sintaks nama host lokasi jendela saat ini

Contoh

Dalam contoh ini, kami telah menetapkan Dom kosong untuk menampilkan output. Kami telah menulis kode untuk mendapatkan nama host dari lokasi situs web saat ini

Using the current window location's hostname property

Menggunakan Properti hostname dari URL

Di bagian ini, kita akan melihat cara mendapatkan nama host di URL menggunakan properti hostname dari URL apa pun. Di sini, kami telah membuat objek URL khusus menggunakan konstruktor URL() baru

Sintaksis

Ikuti sintaks di bawah ini untuk mendapatkan nama host

var url = new URL("www.sample.com");
var hostname = url.hostname;

Di sini kita mengakses properti hostname dari URL secara langsung. Kami menggunakan metode URL baru untuk membuat URL baru dan kemudian properti hostname dari url ini diambil

Contoh

Dalam contoh ini, kode membuat url sampel menggunakan metode new URL(). Nama host ditampilkan dengan mengakses properti hostname dari URL itu sendiri

Using the any url's hostname property

_

Dalam tutorial ini, kita telah belajar untuk mendapatkan hostname di URL menggunakan properti hostname di JavaScript

Properti hostname adalah properti JavaScript bawaan dan mudah untuk mengakses nama host dari URL saat ini serta dari URL apa pun yang dibuat menggunakan metode URL() baru

Tidak digunakan lagi. Fitur ini tidak lagi direkomendasikan. Meskipun beberapa browser mungkin masih mendukungnya, itu mungkin telah dihapus dari standar web yang relevan, mungkin sedang dalam proses dihapus, atau mungkin hanya disimpan untuk tujuan kompatibilitas. Hindari menggunakannya, dan perbarui kode yang ada jika memungkinkan; . Ketahuilah bahwa fitur ini dapat berhenti bekerja kapan saja

Properti domain_ dari antarmuka Document mendapatkan/mengatur bagian domain dari asal dokumen saat ini, seperti yang digunakan oleh kebijakan asal yang sama

Sebuah benang

SecurityError DOMException

Penggunaan fitur ini diblokir oleh Kebijakan Izin

Untuk kode yang berjalan di URL https://developer.mozilla.org/en-US/docs/Web, contoh ini akan menetapkan

const currentHostname = location.hostname;
0 ke string "
const currentHostname = location.hostname;
1"

const currentDomain = document.domain;

Pengambil untuk properti ini mengembalikan bagian domain dari asal dokumen saat ini. Biasanya, ini akan menjadi bagian hostname dari URL dokumen. Namun, ada beberapa pengecualian

  • Jika halaman memiliki asal buram, mis. g. untuk halaman dengan URL data, maka akan mengembalikan string kosong
  • Jika
    const currentHostname = location.hostname;
    
    _2 telah digunakan, maka akan mengembalikan nilai yang telah ditetapkan

Meskipun getter tidak berbahaya seperti halnya setter, kemungkinan lebih sederhana dan lebih berguna untuk menggunakan properti

const currentHostname = location.hostname;
3 sebagai gantinya. Maka Anda dapat menghindari
const currentHostname = location.hostname;
_2 sepenuhnya

const currentHostname = location.hostname;

Untuk URL https://developer.mozilla.org/en-US/docs/Web,

const currentHostname = location.hostname;
6 juga merupakan string "
const currentHostname = location.hostname;
1". Alternatif lain yang memberikan informasi yang sedikit berbeda adalah
const currentHostname = location.hostname;
_8, yang mencakup port, dan
const currentHostname = location.hostname;
9, yang menyediakan sumber penuh

document.domain = domainString

Setter untuk properti ini dapat digunakan untuk mengubah asal halaman, dan dengan demikian mengubah cara pemeriksaan keamanan tertentu dilakukan. Itu hanya dapat diatur ke domain yang sama atau domain induk. Misalnya, jika

document.domain = domainString
_0 dan
document.domain = domainString
1 keduanya menggunakan

document.domain = "example.com";

kemudian mereka berdua memodifikasi asal mereka untuk memiliki domain yang sama, dan mereka sekarang dapat mengakses DOM satu sama lain secara langsung—meskipun lintas asal, yang biasanya akan mencegah akses tersebut

Perhatikan bahwa menyetel

const currentHostname = location.hostname;
_2 ke nilainya saat ini bukanlah tanpa operasi. Itu masih mengubah asal. Misalnya, jika satu set halaman

document.domain = document.domain;

maka itu akan dihitung sebagai asal-silang dari halaman asal yang biasanya sama lainnya yang tidak melakukan hal yang sama

Bantahan

Penyetel

const currentHostname = location.hostname;
_2 tidak digunakan lagi. Itu merusak perlindungan keamanan yang diberikan oleh kebijakan asal yang sama, dan memperumit model asal di browser, yang menyebabkan masalah interoperabilitas dan bug keamanan.

Mencoba menyetel

const currentHostname = location.hostname;
_2 berbahaya. Ini membuka akses penuh ke DOM halaman dari semua subdomain, yang mungkin bukan yang dimaksud. Itu juga menghapus komponen port dari asalnya, jadi sekarang halaman Anda dapat diakses oleh halaman lain dengan alamat IP yang sama atau komponen host yang sama, bahkan pada port yang berbeda

Ini sangat tidak aman di shared hosting. Misalnya, pelanggan hosting bersama lainnya dapat menghosting situs di alamat IP yang sama tetapi di port yang berbeda, lalu pengaturan

const currentHostname = location.hostname;
2 akan menghapus perlindungan asal yang sama yang biasanya melindungi Anda dari situs pelanggan lain yang mengakses data situs Anda

Masalah serupa terjadi dengan situs hosting bersama yang memberi setiap pelanggan subdomain yang berbeda. Jika sebuah situs menyetel

const currentHostname = location.hostname;
_2, pelanggan lain di subdomain yang berbeda sekarang dapat melakukan hal yang sama, dan mulai mengakses data dari situs asli

Alih-alih menggunakan

const currentHostname = location.hostname;
_2 untuk memfasilitasi komunikasi lintas asal, Anda harus menggunakan
document.domain = domainString
8 untuk mengirim pesan asinkron ke asal lain. Akses terkontrol melalui penyampaian pesan ini jauh lebih aman daripada pemaparan menyeluruh dari semua data yang disebabkan oleh
const currentHostname = location.hostname;
2

Kegagalan

Setter akan melempar "SecurityError_" DOMException dalam beberapa kasus

  • document.domain = "example.com";
    
    2
    document.domain = "example.com";
    
    3 dinonaktifkan
  • Dokumen ada di dalam kotak pasir ________19______4
  • Dokumen tidak memiliki konteks penelusuran
  • Dokumennya adalah
    document.domain = "example.com";
    
    5
  • Nilai yang diberikan tidak sama dengan nama host halaman saat ini, maupun domain induknya

Sebagai contoh kasus kegagalan terakhir ini, mencoba menyetel

const currentHostname = location.hostname;
2 ke
document.domain = "example.com";
7 saat di
document.domain = "example.com";
8 akan membuang

Selain itu, sebagai bagian dari penghentiannya, fitur ini tidak akan melakukan apa pun jika digabungkan dengan fitur isolasi modern tertentu

  • Jika digunakan pada halaman terisolasi lintas asal, mis. e. salah satu yang menggunakan nilai yang sesuai untuk
    document.domain = "example.com";
    
    9 dan
    document.domain = document.domain;
    
    0 header HTTP
  • Jika digunakan pada halaman asal-terisolasi, mis. e. yang menggunakan header HTTP
    document.domain = document.domain;
    
    1

Terakhir, pengaturan

const currentHostname = location.hostname;
_2 tidak mengubah asal yang digunakan untuk pemeriksaan asal oleh beberapa API Web, mencegah akses sub-domain melalui mekanisme ini. API yang terpengaruh termasuk (namun tidak terbatas pada).
document.domain = document.domain;
3,
document.domain = document.domain;
4,
document.domain = document.domain;
5,
document.domain = document.domain;
6

Bagaimana cara mendapatkan nama domain dari URL di JavaScript?

Ikuti sintaks di bawah ini untuk mendapatkan nama host. var url = new URL("www. Sampel. com"); var nama host = url. hostname; Di sini kita mengakses properti hostname dari URL secara langsung.

Bagaimana cara mengekstrak domain dari URL?

Di sel pertama kolom "Domain" (B2), masukkan rumus untuk mengekstrak nama domain. .
Ekstrak domain dengan www. jika ada di URL. =MID(A2,CARI(". ",A2,4)+3,CARI("/",A2,9)-CARI(". ",A2,4)-3)
Abaikan www. dan dapatkan nama domain murni. =IF(ISERROR(CARI("//www. ",

Bagaimana menemukan nama domain menggunakan JavaScript?

Kami menggunakan jendela. lokasi. properti hostname dari objek dokumen untuk menampilkan nama domain dari server yang memuat dokumen menggunakan JavaScript. Objek dokumen, bagian dari DOM, sesuai dengan halaman web saat ini yang telah dimuat oleh browser.

Bagaimana cara menemukan domain string?

Pertama, kita perlu mengekstrak host dari nilai URL yang diberikan. Kita bisa menggunakan kelas URI. String urlString = "https. // www. baeldung. com/java-tutorial"; URI uri = URI baru(urlString); String host = uri. getHost();