Sering kali, Anda dapat mengucapkan hal seperti "Saya membeli domain" atau "Gambar kami dihosting di situs yang berbeda", meskipun itu tidak sepenuhnya benar. Namun, di konteks tertentu harus lebih tepat. Misalnya, ketika berhadapan dengan cookie, Anda harus memahami perbedaan antara situs dan asal.
Nama untuk bagian URL ditetapkan dalam standar, yang juga menentukan JavaScript API:
- Standar URL menentukan URL dan atribut dasar untuk memungkinkan para insinyur membangun browser web yang dapat dioperasikan bersama.
- Komponen URL API standar mendefinisikan metode untuk menyediakan akses ke bagian {i>string<i} URL, seperti skema atau asal.
Dokumen ini menjelaskan berbagai istilah yang digunakan dengan string URL HTTP atau HTTPS. Ini
tidak mencakup jenis URL lain seperti URL file atau data. Untuk persyaratan seperti
host
dan origin
, definisi yang akurat pada dasarnya bersifat kompleks, sehingga
dokumen menyediakan contoh dan tautan ke standar URL, bukan
mencoba memberikan
penjelasan lengkap.
Anda bisa menggunakan JavaScript untuk mendapatkan nama komponen URL yang ditentukan oleh URL API. Contoh:
let url = new URL('https://foo.com.au:1234/bar/foo.html#bar');
console.log(url);
Penganalisis URL
Edit URL di bawah untuk melihat bagaimana bagian-bagian string URL diberi nama. Anda juga dapat membukanya pada tab terpisah di url-parts.glitch.me.
Nama untuk bagian URL tercantum menurut abjad di bawah.
Domain level teratas kode negara (ccTLD)
Domain level teratas yang ditentukan dalam daftar Kode Negara ISO 3166-1.
Nama domain
Bagian URL HTTP atau HTTPS yang dipisahkan oleh titik: semuanya setelah skema, tetapi sebelum jalur atau port (jika ditentukan). Setiap bagian dari nama domain dikenal sebagai label.
URL | Nama domain |
---|---|
https://example.github.io/path | example.github.io |
https://support.example.org.au:443 | support.example.org.au |
Domain level teratas efektif (eTLD)
Entri dalam Daftar Suffix Publik, termasuk TLD dan(untuk eTLD dengan beberapa bagian) domain tambahan di bawahnya: tingkat kedua, tingkat ketiga, dan seterusnya.
- Contoh:
com
,com.au
,github.io
,sa.edu.au
,schools.nsw.edu.au
.
"Akhiran publik", seperti contoh ini, adalah nama yang domainnya dapat terdaftar. {i>Public Suffix List<i} adalah daftar semua akhiran publik yang diketahui, dan atau sering diperbarui. Browser termasuk Chromium dan Firefox menggunakan daftar tersebut di build mereka.
TLD+1
Lihat domain yang dapat didaftarkan.
eTLD ditambah subdomain yang mendahuluinya.
- Contoh:
example.com
,example.org.au
,example.github.io
,example.sa.edu.au
,example.schools.nsw.edu.au
.
Nama file
Tidak ditentukan dalam standar URL, dan bukan bagian dari URL API, tetapi umum digunakan merujuk ke bagian final, non-jalur, URL berdasarkan —sering kali salah—asumsi bahwa URL memetakan langsung ke direktori karena ada berbagai struktur penetapan harga.
Misalnya, dengan https://example.com/dir/file.html
, file.html
mungkin akan disebut sebagai nama file.
Nilai nama file juga digunakan oleh browser untuk memberi nama aset jika didownload.
Misalnya, https://example.com/images/image.jpg
biasanya akan disimpan
secara lokal ke image.jpg
.
Fragmen
String yang mengikuti karakter # di akhir URL yang menyediakan ID fragmen Anda.
- Misalnya: URL
https://example.com/cats#tabby
memiliki fragmen nilai IDtabby
.
Bagian yang menyertakan #
dikenal sebagai hash atau anchor.
Anda juga dapat menautkan ke dan menandai fragmen teks.
Hash ditampilkan oleh URL API, bukan oleh fragmen.
Nama domain yang memenuhi syarat sepenuhnya (FQDN)
Alamat lengkap untuk situs atau server, yang memetakan ke alamat IP.
URL | FQDN |
---|---|
https://example.com:1234/cats | example.com |
https://api.example.github.io | api.example.github.io |
FQDN untuk URL tidak menyertakan port, meskipun jika input port tertentu digunakan.
Hash (atau anchor)
String yang mengikuti karakter # di akhir URL yang menyediakan ID fragmen.(Di beberapa konteks ini disebut sebagai "anchor".)
Bagian yang mengecualikan #
dikenal sebagai fragmen.
Anda juga dapat menautkan ke dan menandai fragmen teks.
Hash ditampilkan oleh URL API, bukan oleh fragmen.
Host
Seperti yang didefinisikan dalam standar URL, host dapat berupa nama domain, alamat IP v4, alamat IPv6, host buram, atau kosong {i>host<i}.
- Definisi standar URL
host
tidak mencakup port. URL.host
menyertakan porta, kecuali jika porta adalah {i>default<i} untuk skema tersebut.URL.hostname
tidak termasuk porta.
URL | URL.host |
---|---|
https://www.example.com:443/cat |
www.example.com // 443 is the default port for the scheme
|
https://www.example.com:1234/cat | www.example.com:1234 |
https://cat.example.github.io | cat.example.github.io |
Hostname
Nama host ditetapkan oleh JavaScript URL
API, tetapi tidak di tempat lain dengan URL
standar. Lihat representasi host untuk detail selengkapnya.
URL.hostname
menampilkan host tanpa port.
URL | URL.hostname |
---|---|
https://www.example.com:443/cat | www.example.com |
https://www.example.com:1234/cat | www.example.com |
https://cat.example.github.io | cat.example.github.io |
Asal
Standar URL menentukan origin
, dan
link ke standar HTML untuk
latar belakang.
Untuk URL HTTP atau HTTPS, URL.origin
menampilkan skema, host, dan port (kecuali jika port adalah default
untuk skema ini).
URL | URL.origin |
---|---|
https://www.example.com:443/cat | https://www.example.com |
https://www.example.com:1234/cat | https://www.example.com:1234 |
https://cat.example.github.io | https://cat.example.github.io |
Parameter
Lihat Parameter penelusuran
Sandi
Lihat nama pengguna.
Nama jalur
Untuk URL HTTP atau HTTPS, bagian setelah domain dan port (jika ditentukan), termasuk filename (jika ditentukan), tetapi tidak menyertakan string penelusuran atau hash.
URL | URL.pathname |
---|---|
https://example.com | [empty string] |
https://example.com:8000/search?q=tabby | /search |
https://example.github.io/cat/pattern#tabby | /cat/pattern |
https://example.github.io/README.md | /README.md |
"Jalur" terkadang digunakan untuk merujuk ke
nama jalur tanpa nama file. Sebagai
misalnya, untuk URL https://example.com/cat/pattern/tabby.html
, "jalur"
adalah /cat/pattern
.
Port
Angka setelah :
di URL yang mengidentifikasi port jaringan. Misalnya: untuk
URL https://example.com:1234/tabby
nomor port-nya adalah 1234.
Nomor port harus berupa bilangan bulat 16-bit tanpa tanda tangan: dengan kata lain, bilangan bulat antara 0 dan 65535 inklusif.
Untuk URL HTTP, port defaultnya adalah 80; untuk HTTPS, defaultnya adalah 443. URL tidak perlu menentukan nomor port kecuali digunakan port non-default.
API menampilkan string kosong jika port adalah default untuk skema.
URL | URL.port |
---|---|
https://example.com | // empty string |
https://example.com:443/foo | // empty string: port is default for scheme |
https://www.example.com:1234/foo | 1234 |
Protokol
Skema diikuti dengan :
(misalnya, http:
atau https:
).
protocol
tersedia dari URL API, tetapi scheme
tidak.
Kueri (atau "string kueri")
Bagian penelusuran URL, tidak termasuk ?
awal.
Domain yang dapat didaftarkan
- Untuk URL dengan eTLD bagian tunggal seperti
com
atauorg
(yaitu eTLD yang sesuai dengan TLD), domain dan domain level kedua sebelumnya: misalnyaexample.com
atauexample.org
. - Untuk URL dengan eTLD dua bagian yang hanya memiliki pendaftaran tingkat ketiga
diizinkan (yaitu entri dalam Daftar Akhiran Publik seperti
com.au
, dangithub.io
), domain level teratas dua bagian ("akhiran publik") dan nama domain level ketiga sebelum itu. Misalnya:example.org.au
atauexample.github.io
. - Untuk eTLD dengan tiga bagian atau lebih, eTLD dan domain sebelumnya.
Skema
Bagian URL (sebelum ://
) yang menentukan protokol jaringan (atau tindakan yang akan dilakukan
oleh agen pengguna) saat permintaan dibuat ke URL. Misalnya, permintaan ke
URL dengan skema https
harus dibuat menggunakan protokol HTTPS. Untuk permintaan ke URL dengan skema
seperti file
, mailto
, atau git
yang tidak sesuai dengan jaringan
protokol, perilaku tergantung
pada agen pengguna. Misalnya, saat pengguna mengklik
di link mailto
, sebagian besar browser membuka aplikasi email default mereka, menggunakan
nilai di URL href
link.
Telusuri
Tanda tanya yang diikuti oleh serangkaian pasangan nilai kunci yang mewakili parameter dan nilainya, yang diberikan setelah pathname.
URL | URL.search |
---|---|
https://example.com/cats?pattern=tabby&mood=bonkers | ?pattern=tabby&mood=bonkers |
https://example.com/cats:443?pattern=tabby | ?pattern=tabby |
query
atau "string kueri" merujuk ke search
tanpa
memimpin ?
.
Lihat juga Parameter penelusuran.
Telusuri parameter
Lihat item data yang diteruskan dalam string penelusuran (atau "string kueri").
- Misalnya: untuk
https://example.com/cats?pattern=tabby&mood=bonkers
, atribut string penelusuran memiliki dua parameter:pattern=tabby
danmood=bonkers
.
Domain level kedua
Domain sebelum domain level teratas.
Untuk URL
https://www.example.com
, domain level kedua adalahexample.com
, subdomain dari domain level teratascom
.Untuk
https://example.org.au
, domain level teratas adalahau
, domain level kedua adalahorg
dan domain level ketiga adalahexample
. Dalam contoh ini,org.au
adalah subdomain dariau
danexample.org.au
adalah subdomain dariorg.au
.
Situs
Situs ditentukan oleh standar HTML, beserta situs yang sama, mencakup skema, dan situs yang sama tanpa skema.
Situs tidak ditentukan dalam standar URL atau JavaScript URL API.
Dalam konteks ini:
- Untuk URL HTTP atau HTTPS dengan eTLD bagian tunggal seperti
https://example.com
, situs ini terdiri darischeme
, eTLD, dan label sebelum itu. Misalnya: untuk URLhttps://www.example.com/cat
, situsnya adalahhttps://example.com
. (Untuk URL ini, eTLD sama dengan domain level teratas.) - Untuk eTLD multibagian seperti
co.uk
,github.io
, atausa.edu.au
, "situs" terdiri darischeme
, eTLD, dan label sebelumnya. Misalnya: untuk URLhttps://cat.example.co.uk/tabby
, situsnya adalahhttps://example.co.uk
, dan untukhttps://www.education.sa.gov.au
situs adalahhttps://education.sa.gov.au
.
URL | Situs (dengan skema dan eTLD +1) |
---|---|
https://cat.example.com/tabby | ("https", "example.com") |
https://cat.example.co.uk/tabby | ("https", "example.co.uk") |
Tidak seperti origin, situs tidak menyertakan port.
Subdomain
Domain dalam domain level yang lebih tinggi.
Untuk situs dengan domain level teratas satu bagian seperti com
atau org
, bagian tersebut
sebelum domain {i>top-level<i}, yang
masing-masing dipisahkan oleh titik.
www.example.com
adalah subdomain dariexample.com
.support.api.example.org
adalah subdomain dariapi.example.org
, yang merupakan subdomain dariexample.org
.
Untuk eTLD dua bagian yang hanya mengizinkan pendaftaran tingkat ketiga(yaitu entri
dalam Daftar Suffix Publik seperti co.uk
dan
github.io
) subdomain adalah bagian dari nama domain sebelumnya.
- Misalnya:
cat.example.co.uk
adalah subdomain dariexample.co.uk
.
Fragmen teks
Jenis fragmen yang memungkinkan penautan dan sorotan rentang teks dalam sebuah halaman. Saat pengguna mengikuti tautan dengan fragmen teks, browser mencoba menemukan, menggulir, dan menyorot teks di dalam halaman.
Fragmen teks dimulai dengan :~:text=
diikuti dengan istilah penelusuran.
Misalnya, untuk menautkan ke kejadian pertama "fragmen" teks
di halaman ini, gunakan URL https://web.dev/articles/url-parts#:~:text=fragment
.
Cari tahu lebih lanjut: Fragmen teks.
Domain level teratas (TLD)
Nama domain yang tercantum dalam Root Zone Database seperti com
atau org
. Beberapa domain
tingkat teratas adalah
domain level teratas kode negara, seperti uk
dan tv
.
Saat menjelaskan bagian-bagian dari URL HTTP atau HTTPS, TLD adalah nama domain yang mengikuti titik terakhir.
- Untuk
https://example.org
, domain level teratas URL adalahorg
. - Untuk
https://example.org.au
, domain level teratas untuk URL adalahau
, danorg
adalah domain level kedua (meskipunorg
juga merupakan domain level teratas domain).org.au
adalah eTLD yang terdiri dari dua bagian.
Daftar Akhiran Publik eTLD mencakup domain dengan satu, dua, atau lebih bagian, sehingga TLD juga dapat menjadi TLD. Contoh:
- Untuk
https://example.com
, eTLD URL-nya adalahcom
, yang juga merupakan TLD.
Nama pengguna
Nama pengguna dan sandi opsional dapat diberikan di awal URL, tetapi hal ini sudah tidak digunakan lagi untuk alasan keamanan dan dalam banyak kasus akan diabaikan.
Misalnya, dengan https://user123:password1@example.com
nama pengguna adalah
user123
. Perhatikan bahwa nama pengguna (dan sandi) ditulis dalam bentuk teks biasa dan tidak dienkripsi.
Jika nama pengguna berisi simbol :
atau @
, nama pengguna tersebut harus dienkode ke URL %3A
dan %40
.
Cari tahu selengkapnya
- WhatWG: URL Living Standard
- WhatWG: HTML Living Standard
- API URL
- Memahami "same-site" dan "origin yang sama"
- RFC: Uniform Resource Locators (URL)
- RFC: URI, URL, dan URN
- Database Zona Root (direktori TLD)
- Daftar Akhiran Publik (direktori eTLDs: "Akhiran publik adalah kumpulan nama DNS atau karakter pengganti yang digabungkan dengan titik-titik. mewakili bagian dari nama domain yang tidak berada dalam mengontrol pendaftar individu.")
- Glosarium ICANN
- Apa yang dimaksud dengan Nama Domain yang Memenuhi Syarat Sepenuhnya?
- Berapa banyak cara untuk memisahkan URL dan memberi nama setiap bagian?
- Glosarium Dokumen Web MDN
- Apa yang dimaksud dengan URL?
- Histori URL