Sering kali, tidak masalah untuk mengatakan hal-hal seperti "Saya membeli domain" atau "Gambar kami dihosting di situs yang berbeda", meskipun itu tidak sepenuhnya benar. Namun, dalam beberapa konteks, parameter tersebut perlu lebih tepat. Misalnya, saat menangani cookie, Anda perlu memahami perbedaan antara situs dan origin.
Nama untuk bagian URL ditentukan dalam standar, yang juga menentukan JavaScript API:
- Standar URL menentukan URL dan konsep terkait agar engineer dapat membuat browser web yang memiliki interoperabilitas.
- Komponen URL API standar menentukan metode untuk memberikan akses ke bagian string URL, seperti skema atau origin.
Dokumen ini menjelaskan berbagai istilah yang digunakan bersama string URL HTTP atau HTTPS. Dokumen ini tidak mencakup jenis URL lain seperti URL file atau data. Untuk istilah seperti host
dan origin
, definisi yang akurat sangat kompleks, sehingga dokumen ini memberikan contoh dan link ke standar URL, bukan mencoba penjelasan lengkap.
Anda dapat 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 string URL diberi nama. Anda juga dapat membuka ini pada tab terpisah di url-parts.glitch.me.
Nama untuk bagian URL tercantum menurut abjad di bawah ini.
Domain level teratas kode negara (ccTLD)
Domain level teratas yang ditentukan dalam daftar Kode Negara ISO 3166-1.
Nama domain
Bagian dari 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 Akhiran 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-contoh ini, adalah nama tempat domain dapat didaftarkan. Daftar Suffix Publik adalah daftar semua akhiran publik yang diketahui, dan sering diperbarui. Browser termasuk Chromium dan Firefox menggunakan daftar di build-nya.
eTLD+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 biasanya digunakan untuk merujuk ke bagian akhir, non-jalur, dari URL berdasarkan asumsi bahwa URL dipetakan langsung ke struktur direktori.
Misalnya, dengan https://example.com/dir/file.html
, file.html
mungkin disebut sebagai nama file.
Nilai nama file juga digunakan oleh browser untuk memberi nama aset jika diunduh.
Misalnya, https://example.com/images/image.jpg
biasanya akan disimpan
secara lokal ke image.jpg
.
Fragment
String setelah karakter # di akhir URL yang memberikan ID fragmen.
- Misalnya: URL
https://example.com/cats#tabby
memiliki nilai ID fragmentabby
.
Bagian yang berisi #
dikenal sebagai hash atau anchor.
Anda juga dapat menautkan ke dan menandai fragmen teks.
Hash ditampilkan oleh URL API, bukan fragmen.
Nama domain yang sepenuhnya memenuhi syarat (FQDN)
Alamat lengkap untuk situs atau server, yang dipetakan 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 port non-default digunakan.
Hash (atau anchor)
String setelah karakter # di akhir URL yang menyediakan ID fragmen.(Dalam beberapa konteks, hal ini disebut sebagai "anchor".)
Bagian yang tidak mencakup #
dikenal sebagai fragmen.
Anda juga dapat menautkan ke dan menandai fragmen teks.
Hash ditampilkan oleh URL API, bukan fragmen.
Host
Seperti yang ditentukan dalam standar URL, host dapat berupa nama domain, alamat IP v4, alamat IPv6, host buram, atau host kosong.
- Definisi standar URL
host
tidak menyertakan port. URL.host
menyertakan port, kecuali jika port tersebut adalah default untuk skema.URL.hostname
tidak menyertakan port.
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 |
Nama host
Hostname ditentukan oleh JavaScript URL
API, tetapi tidak di tempat lain menurut standar
URL. 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 |
Origin
Standar URL menentukan origin
, dan
menautkan ke standar HTML untuk
latar belakang.
Untuk URL HTTP atau HTTPS, URL.origin
menampilkan skema, host, dan port (kecuali jika port tersebut adalah default
untuk skema tersebut).
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 nama file (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. Misalnya, untuk URL https://example.com/cat/pattern/tabby.html
, "jalur"
adalah /cat/pattern
.
Port
Angka setelah :
pada 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 yang tidak ditandatangani: dengan kata lain, bilangan bulat antara 0 dan 65535 inklusif.
Untuk URL HTTP, port defaultnya adalah 80; untuk HTTPS, default-nya adalah 443. URL tidak perlu menentukan nomor port kecuali jika port non-default digunakan.
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 |
Protocol
Skema diikuti dengan :
(misalnya http:
atau https:
).
protocol
tersedia dari URL API, tetapi scheme
tidak.
Kueri (atau "string kueri")
Bagian penelusuran URL, tidak termasuk ?
di awal.
Domain yang dapat didaftarkan
- Untuk URL dengan eTLD satu bagian seperti
com
atauorg
(eTLD yang sesuai dengan TLD), domain dan domain level kedua sebelum domain tersebut: misalnya,example.com
atauexample.org
. - Untuk URL dengan eTLD dua bagian yang hanya mengizinkan pendaftaran tingkat ketiga (yaitu entri dalam Daftar Akhiran Publik seperti
com.au
dan,github.io
), domain level teratas dua bagian ("akhiran publik") dan nama domain level ketiga tepat 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 protokol
jaringan, perilakunya bergantung pada agen pengguna. Misalnya, saat pengguna mengklik link mailto
, sebagian besar browser akan membuka aplikasi email default mereka, menggunakan nilai di URL href
link.
Telusuri
Tanda tanya diikuti oleh serangkaian key-value pair yang mewakili parameter dan nilainya, yang diberikan setelah namajalur.
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" mengacu pada search
tanpa
?
di awal.
Lihat juga Parameter penelusuran.
Parameter penelusuran
Merujuk ke item data yang diteruskan dalam string penelusuran (atau "string kueri").
- Misalnya: untuk
https://example.com/cats?pattern=tabby&mood=bonkers
, 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, yang menyertakan 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 satu bagian seperti
https://example.com
, situs terdiri darischeme
, eTLD, dan label sebelum tersebut. Misalnya: untuk URLhttps://www.example.com/cat
, situs tersebut 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
, situs tersebut adalahhttps://example.co.uk
, dan untukhttps://www.education.sa.gov.au
situs tersebut 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 dengan level yang lebih tinggi.
Untuk situs dengan domain level teratas satu bagian seperti com
atau org
, bagian sebelum domain level teratas, yang masing-masing dipisahkan dengan 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 Akhiran 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 untuk menautkan ke dan menandai rentang teks dalam halaman. Saat pengguna mengikuti link dengan fragmen teks, browser akan mencoba menemukan, men-scroll, dan menandai teks dalam halaman.
Fragmen teks dimulai dengan :~:text=
, diikuti dengan istilah penelusuran.
Misalnya, untuk memberikan link ke kemunculan "fragmen" teks pertama di halaman ini, gunakan URL https://web.dev/articles/url-parts#:~:text=fragment
.
Cari tahu selengkapnya: Fragmen teks.
Domain level teratas (TLD)
Nama domain yang tercantum dalam Database Zona Root, seperti com
atau org
. Beberapa domain level teratas adalah
domain level teratas kode negara, seperti uk
dan tv
.
Saat menjelaskan bagian dari URL HTTP atau HTTPS, TLD adalah nama domain yang mengikuti titik akhir.
- Untuk
https://example.org
, domain level teratas URL adalahorg
. - Untuk
https://example.org.au
, domain level teratas URL adalahau
, danorg
adalah domain level kedua (meskipunorg
juga merupakan domain level atas).org.au
adalah eTLD dua bagian.
Daftar Akhiran Publik eTLD mencakup domain yang berisi satu, dua, atau lebih bagian, sehingga TLD juga dapat menjadi eTLD. Contoh:
- Untuk
https://example.com
, eTLD URL adalahcom
, yang juga merupakan TLD.
Nama pengguna
Nama pengguna dan sandi opsional dapat diberikan di awal URL, tetapi ini tidak digunakan lagi karena alasan keamanan dan akan diabaikan dalam banyak kasus.
Misalnya, dengan https://user123:password1@example.com
, nama penggunanya adalah
user123
. Perhatikan bahwa nama pengguna (dan sandi) ditulis dalam teks biasa dan tidak dienkripsi.
Jika nama pengguna berisi simbol :
atau @
, nama pengguna tersebut harus dienkode ke URL masing-masing ke %3A
dan %40
.
Cari tahu selengkapnya
- WhatWG: URL Living Standard (Standar Hidup URL)
- APAWG: HTML Living Standard (Standar Hidup HTML)
- API URL
- Memahami "situs yang sama" dan "origin yang sama"
- RFC: Uniform Resource Locators (URL)
- RFC: URI, URL, dan URN
- Database Zona Root (direktori TLD)
- Daftar Suffix Publik (direktori eTLDs: "Akhiran publik adalah kumpulan nama DNS atau karakter pengganti yang digabungkan dengan titik. ID ini mewakili bagian nama domain yang tidak berada di bawah kendali pendaftar individu.")
- Glosarium ICANN
- Apa itu Nama Domain yang Memenuhi Syarat Sepenuhnya?
- Berapa banyak cara untuk mengelompokkan URL dan memberi nama setiap bagiannya?
- Glosarium Dokumen Web MDN
- Apa yang dimaksud dengan URL?
- Histori URL