Pilih bahasa

Enkode URL: Ubah Teks Menjadi Format URL yang Aman

Ubah teks menjadi format yang aman untuk URL dengan encoder kami. Mendukung mode komponen (encodeURIComponent) dan URI penuh (encodeURI), serta opsi spasi menjadi +.

Mehmet Demiray Diterbitkan Diperbarui
Bagikan
Komponen meng-encode karakter khusus; penuh mempertahankan struktur URL

Mengapa URL Perlu Dienkode? Memahami Karakter Cadangan dan Aman

Bayangkan sebuah URL sebagai alamat surat. Agar surat sampai ke tujuan yang benar, alamatnya harus ditulis dalam format yang standar dan dapat dimengerti oleh semua petugas pos di seluruh dunia. Hal yang sama berlaku untuk URL di internet. URL memiliki seperangkat aturan ketat tentang karakter apa saja yang boleh digunakan dan bagaimana struktur penulisannya. Aturan ini didefinisikan dalam standar teknis yang disebut RFC 3986.

Standar ini membagi karakter menjadi dua kelompok utama: karakter yang tidak dicadangkan (unreserved) dan karakter yang dicadangkan (reserved). Karakter yang tidak dicadangkan, seperti huruf (A-Z, a-z), angka (0-9), dan beberapa simbol seperti -, _, ., ~, dianggap aman untuk digunakan di mana saja dalam URL. Namun, karakter yang dicadangkan memiliki makna khusus. Contohnya, simbol ? menandai awal dari parameter kueri, & memisahkan antar parameter, dan / memisahkan segmen path. Jika karakter-karakter ini muncul sebagai bagian dari data (misalnya, dalam nama produk "Baju & Celana"), mereka akan mengacaukan struktur URL dan menyebabkan server salah menginterpretasikannya. Di sinilah Enkode URL berperan. Proses ini, juga dikenal sebagai persen-enkoding, mengubah karakter yang tidak aman atau dicadangkan menjadi format universal yang aman, yaitu tanda persen (%) diikuti oleh dua digit heksadesimal yang mewakili karakter tersebut. Dengan begitu, data Anda tetap utuh tanpa merusak struktur alamat URL.

Enkode Komponen vs. URL Penuh: Kapan Menggunakan Masing-Masing?

Alat Enkode URL kami menawarkan dua mode utama: "Enkode Komponen" dan "Enkode URL Penuh". Memilih mode yang tepat sangat penting untuk memastikan URL Anda berfungsi dengan benar. Perbedaan mendasar terletak pada perlakuan terhadap karakter yang dicadangkan (:, /, ?, #, [, ], @, !, $, &, ', (, ), *, +, ,, ;, =).

Mode Enkode Komponen adalah pilihan yang paling umum dan paling aman untuk sebagian besar kasus. Mode ini dirancang untuk mengenkode satu bagian atau komponen dari URL, seperti nilai parameter dalam kueri. Mode ini bersifat agresif, artinya ia akan mengonversi semua karakter yang dicadangkan. Contohnya, jika Anda ingin menyertakan URL lain sebagai nilai parameter, seperti ?redirect=https://contoh.com/halaman, Anda harus mengenkode nilai https://contoh.com/halaman menggunakan mode komponen. Hasilnya, karakter / dan : akan diubah menjadi %2F dan %3A, sehingga tidak mengganggu struktur URL utama.

Mode Enkode URL Penuh, di sisi lain, lebih permisif. Mode ini digunakan ketika Anda sudah memiliki URL yang hampir lengkap tetapi mungkin mengandung karakter yang tidak valid, seperti spasi. Mode ini tidak akan mengenkode karakter yang dicadangkan karena diasumsikan karakter tersebut memang berfungsi sebagai bagian dari struktur URL (pemisah protokol, domain, path, dll.). Contohnya, jika Anda memiliki tautan seperti https://situs-saya.com/artikel/tips dan trik.html, mode URL Penuh akan mengubahnya menjadi https://situs-saya.com/artikel/tips%20dan%20trik.html, dengan tetap mempertahankan karakter / dan :. Gunakan mode ini dengan hati-hati dan hanya jika Anda yakin sedang bekerja dengan URL yang utuh.

Misteri Spasi di URL: `%20` Lawan `+`

Salah satu karakter yang paling sering perlu dienkode dalam URL adalah spasi. Namun, Anda mungkin pernah melihat dua representasi yang berbeda untuk spasi: %20 dan tanda tambah +. Keduanya valid, tetapi digunakan dalam konteks yang sedikit berbeda, dan memahami perbedaannya dapat mencegah kesalahan yang tidak terduga.

%20 adalah representasi standar universal untuk karakter spasi sesuai dengan standar RFC 3986. Kode 20 adalah nilai heksadesimal untuk spasi dalam tabel karakter ASCII. Representasi ini akan dipahami dengan benar di semua bagian URL, baik itu di path (misalnya, /nama file/) maupun di bagian kueri (setelah tanda ?). Ini adalah cara yang paling aman dan direkomendasikan untuk mengenkode spasi.

Tanda tambah +, di sisi lain, adalah sebuah peninggalan dari spesifikasi yang lebih tua, yaitu application/x-www-form-urlencoded, yang digunakan untuk mengirimkan data dari formulir HTML. Dalam konteks spesifik ini, browser akan mengganti spasi dengan tanda + saat mengirimkan data formulir. Misalnya, jika Anda mengetik "baju batik" di kotak pencarian sebuah situs web, URL yang dihasilkan mungkin terlihat seperti ?q=baju+batik. Karena perilaku ini masih umum, alat Enkode URL kami menyediakan opsi untuk mengenkode spasi sebagai +. Gunakan opsi ini hanya jika Anda secara spesifik perlu meniru format pengiriman formulir, misalnya saat membuat string kueri secara manual untuk API yang mengikuti konvensi ini. Untuk semua tujuan lain, tetaplah menggunakan %20 untuk kompatibilitas maksimum.

Menangani Karakter Unik: Enkode URL untuk Unicode dan Emoji

Internet adalah ruang global, dan URL sering kali perlu menyertakan karakter di luar alfabet Latin dasar, seperti huruf beraksen (misalnya, é, ü), aksara lain (misalnya, Jawa, Arab), atau bahkan emoji (misalnya, 👍, ❤️). Namun, sistem URL pada dasarnya dirancang hanya untuk set karakter ASCII. Lalu, bagaimana karakter-karakter ini bisa masuk ke dalam URL?

Jawabannya terletak pada kombinasi standar pengkodean UTF-8 dan persen-enkoding. Prosesnya berjalan dalam dua langkah. Pertama, karakter non-ASCII (Unicode) diubah menjadi urutan bita (byte) sesuai dengan standar UTF-8. Karakter sederhana mungkin hanya memerlukan satu bita, tetapi karakter yang lebih kompleks seperti emoji bisa memerlukan hingga empat bita. Kedua, setiap bita dalam urutan tersebut kemudian dienkode secara individual menggunakan persen-enkoding.

Sebagai contoh, karakter é dalam UTF-8 direpresentasikan oleh dua bita: C3 dan A9 dalam heksadesimal. Jadi, ketika dienkode dalam URL, é menjadi %C3%A9. Contoh lain, emoji jempol 👍 direpresentasikan oleh empat bita UTF-8: F0, 9F, 91, dan 8D. Oleh karena itu, enkode URL-nya adalah %F0%9F%91%8D. Alat Enkode URL kami secara otomatis menangani konversi UTF-8 ini di latar belakang, jadi Anda cukup memasukkan teks atau emoji apa pun, dan alat ini akan menghasilkan string yang aman dan valid untuk digunakan di URL, memastikan data internasional Anda tersampaikan dengan benar di seluruh web.

Panduan Praktis Enkode URL untuk Pengembang dan Pemasar Digital

Enkode URL bukan hanya konsep teknis, melainkan alat praktis yang esensial dalam pekerjaan sehari-hari para pengembang web dan pemasar digital. Berikut adalah beberapa skenario umum di mana Anda akan membutuhkan alat Enkode URL.

Bagi Pemasar Digital, penggunaan utamanya adalah saat membuat tautan pelacakan dengan parameter UTM. Misalkan Anda menjalankan kampanye iklan untuk "Diskon Lebaran 2024". Nilai parameter utm_campaign Anda adalah Diskon Lebaran 2024. Jika dimasukkan langsung ke URL, spasi akan merusaknya. Anda harus mengenkodenya menjadi Diskon%20Lebaran%202024 agar tautan berfungsi dan data pelacakan akurat.

Bagi Pengembang Web, kasus penggunaannya lebih beragam. Saat membuat fungsi pencarian, setiap input dari pengguna harus dienkode sebelum dimasukkan ke dalam parameter kueri URL. Jika pengguna mencari buku "fiksi ilmiah", string tersebut harus dienkode menjadi buku%20%22fiksi%20ilmiah%22 untuk memastikan tanda kutip dan spasi tidak mengganggu URL. Hal ini juga krusial saat berinteraksi dengan API. Banyak API mengharapkan parameter URL yang terenkode dengan benar, terutama jika nilainya berupa JSON atau string kompleks lainnya.

Setelah URL dienkode untuk transmisi yang aman, sering kali Anda perlu mengembalikannya ke bentuk aslinya di sisi penerima. Untuk tugas ini, Anda bisa menggunakan alat dekode URL kami. Selain itu, setelah Anda memiliki URL yang bersih dan terenkode, Anda dapat dengan mudah membagikannya menggunakan pembuat kode QR dari URL untuk kampanye cetak atau digital.

Yang paling sering kami jawab.

Kenapa beberapa karakter di URL saya berubah jadi kode aneh seperti `%20` atau `%3F`?

Ini disebut 'persen-enkoding'. URL hanya dapat berisi set karakter tertentu yang aman. Karakter lain, seperti spasi, &, atau ?, memiliki makna khusus (disebut karakter terpesan) atau tidak diizinkan. Alat Enkode URL mengubah karakter-karakter ini menjadi format % diikuti dua digit heksadesimal agar dapat dikirim dengan aman melalui internet tanpa merusak struktur URL atau disalahartikan oleh server.

Kapan saya harus pakai mode 'Komponen' dan kapan 'URL Lengkap'?

Gunakan mode 'Komponen' saat Anda ingin mengenkode sepotong data yang akan menjadi nilai parameter dalam URL. Contohnya, teks "baju & celana" untuk parameter q dalam example.com?q=baju%20%26%20celana. Mode ini akan mengenkode karakter seperti &, =, dan ?. Gunakan mode 'URL Lengkap' jika Anda sudah memiliki URL utuh dan hanya ingin memastikan karakter non-standar (seperti spasi atau aksen) dienkode, namun tetap mempertahankan fungsi dari karakter terpesan seperti /, ?, dan &.

Apa bedanya spasi yang diubah jadi `%20` dengan yang jadi `+`?

Secara teknis, %20 adalah representasi standar untuk spasi dalam URI sesuai spesifikasi RFC 3986. Tanda + adalah konvensi yang lebih tua yang berasal dari pengiriman data formulir web (application/x-www-form-urlencoded). Sebagian besar sistem modern dapat memahami keduanya, namun menggunakan %20 lebih sesuai standar universal. Alat Enkode URL kami menyediakan opsi untuk menggunakan + demi kompatibilitas dengan sistem lama yang mungkin memerlukannya.

Sebagai digital marketer, apa manfaat praktis alat Enkode URL?

Sangat penting, terutama saat membuat tautan pelacakan (UTM). Jika nilai parameter Anda, misalnya utm_term=baju & celana, mengandung spasi atau simbol &, link Anda bisa rusak atau data pelacakannya menjadi tidak akurat. Anda harus mengenkode nilainya terlebih dahulu menjadi baju%20%26%20celana. Alat ini memastikan semua parameter UTM Anda dibaca dengan benar oleh platform analisis seperti Google Analytics.

Bagaimana cara Enkode URL menangani karakter unik seperti emoji (😀) atau huruf beraksen (é)?

Alat ini menggunakan standar pengkodean UTF-8 yang universal. Karakter-karakter tersebut pertama-tama diubah menjadi urutan bita (byte), lalu setiap bita dienkode ke dalam format persen. Misalnya, emoji '😀' bisa menjadi %F0%9F%98%80. Proses ini memastikan bahwa semua jenis karakter dari berbagai bahasa di dunia, termasuk emoji, dapat direpresentasikan secara akurat dan aman dalam sebuah URL.

Link saya rusak setelah menambahkan parameter yang berisi simbol '&'. Kenapa?

Simbol & adalah karakter terpesan dalam URL yang berfungsi sebagai pemisah antar parameter (misalnya, ?utm_source=google&utm_medium=cpc). Jika nilai parameter Anda sendiri mengandung & (contoh: produk=kaos&sablon), browser akan salah mengartikannya sebagai awal dari parameter baru bernama sablon. Untuk memperbaikinya, Anda harus mengenkode nilai parameter tersebut menggunakan mode 'Komponen', yang akan mengubah & menjadi %26.

Bisakah saya mengembalikan URL yang sudah di-encode ke bentuk aslinya?

Tentu saja. Proses kebalikannya disebut dekoding. Anda dapat menyalin URL yang telah dienkode dan menggunakan alat Dekode URL kami untuk mengubahnya kembali ke format asli yang lebih mudah dibaca oleh manusia.