Pengurai URL

Tempel URL apa pun dan lihat bagiannya: skema, host, port, jalur, tiap parameter kueri, fragmen, dan userinfo — mentah dan terurai, berdampingan.

URL dipecah secara lokal oleh parser browser Anda. Tidak ada yang diambil dan tidak ada yang meninggalkan perangkat.

KomponenNilai
Tempel URL untuk melihat anatominya.

Cara kerja

Semua di sini menyerah pada parser WHATWG milik browser Anda — implementasi yang sama yang menggerakkan permintaan sungguhan — sehingga anatomi yang Anda lihat persis dengan yang dipahami tumpukan jaringan. Ia memecah string menurut tata bahasa RFC 3986: scheme ":" [ "//" authority ] path [ "?" query ] [ "#" fragment ], dan authority sendiri memuat userinfo@ opsional, host, dan :port.

Tata bahasa komponen
Penguraian menelusuri URL dari kiri ke kanan: semua sampai : pertama adalah skema; authority menyusul hanya bila // berikutnya; kueri adalah segala hal di antara ? pertama dan # mana pun; fragmen adalah isi setelah #. Kunci kueri yang berulang tetap menjadi baris terpisah alih-alih digabung, karena urutan dan duplikasi sama-sama bisa bermakna.
Mengapa browser lebih pemaaf daripada spesifikasinya
Konstruktor URL memangkas spasi nyasar, mengecilkan huruf skema dan host, otomatis melepas karakter ilegal di jalur, dan menerima port bawaan yang hilangkan — keluwesan yang dibakukan browser agar mengetik contoh.com tetap jalan. Karena itu juga URL absolut butuh skema: tanpanya tidak ada jangkar untuk penguraian, jadi alat ini menawarkan menambahkan https:// untuk Anda.
Kueri dikirim ke server, fragmen tidak pernah
Bagian sesudah # adalah penanda sisi klien: browser mengirim jalur dan kueri ke server tetapi menyimpan fragmen secara lokal untuk target gulir dan routing halaman tunggal. Jika suatu nilai harus sampai ke backend, taruh di kueri; apa pun di belakang # sejujurnya hanya seprivat bookmark yang bisa Anda bagikan.

Pertanyaan yang sering diajukan

Apakah URL mailto: atau data: bisa diurai di sini?

Sebagian. Objek URL browser menerima skema apa pun, jadi mailto:[email protected] terpecah menjadi protokol mailto: dan alamat yang mendarat di slot path — tetapi memang tidak ada host, port, kueri, atau fragment yang ditampilkan, dan itu benar: komponen-komponen itu tidak ada untuk skema semacam itu. URL javascript: dan data: diurai serupa sebagai skema plus path opak, dan pengurai ini tidak akan pernah menjalankan isinya.

Mengapa spasi kembali sebagai %20 setelah saya sunting dan salin?

Karena percent-encoding bukan hiasan melainkan tata bahasa URL: spasi polos bukan byte yang sah, jadi setiap serialiser menulisnya ulang sebagai %20 (atau + di dalam kueri formulir lama). Kolom Mentah selalu menampilkan bentuk transmisi, kolom Terurai menampilkan maknanya, dan menyalin keduanya menghasilkan string yang lolos utuh saat dipindahkan kembali ke browser.

Ke mana tanda kurung di host IPv6 saya?

Masih di sana — alamat IPv6 memuat titik dua yang akan bertabrakan dengan pemisah port, jadi RFC 3986 membungkusnya dengan kurung: http://[2001:db8::1]:8080/. Objek URL melepas kurung saat menyerahkan hostname, dan alat ini menampilkan host berkutang demi kejujuran tampilan. Tambahkan lagi kurungnya saat menempelkan alamat polos kembali ke sebuah URL.

Apakah alat ini mengurai sekuen persen dua kali?

Tidak — tepat satu lintasan penguraian, karena menebak double-encoding merusak data yang sah. Tetapi jika sebuah nilai masih memuat sekuen %XX setelah lintasan tunggal itu, kolom Catatan menandainya sebagai mungkin ter-sandi ganda; urai sekali lagi dengan sengaja jika itu cocok dengan harapan Anda, karena %25 sungguhan di data asli memang terlihat sama.

Apakah ada yang diunggah ke server?

Tidak. URL dipecah oleh parser WHATWG bawaan browser yang berjalan lokal di tab Anda. Tidak ada yang diambil, tidak ada permintaan dikirim ke URL yang Anda tempel, dan tidak ada analitik yang menyentuh komponennya — termasuk kredensial yang tertanam di alamat.