Apa Itu Percent-Encoding (URL Encoding)?
Panduan Encoding URL
Sebuah URL awalnya dirancang hanya untuk membawa sekumpulan karakter ASCII yang terbatas. Taruh spasi, huruf non-Latin, atau karakter khusus seperti ? atau & langsung ke dalam alamat, dan browser atau server yang berbeda dapat menafsirkannya secara berbeda, atau alamat itu bisa rusak. Solusinya adalah percent-encoding — apa yang biasa orang sebut URL encoding.
Apa arti %XX
Percent-encoding mengganti karakter yang tidak aman dengan nilai byte-nya dalam heksadesimal, diawali dengan %. Spasi menjadi %20, tanda tanya menjadi %3F. Karakter yang terdiri dari beberapa byte, seperti kebanyakan huruf non-Latin, mendapatkan satu %XX per byte UTF-8.
- spasi →
%20 ?→%3F&→%26€(UTF-8) →%E2%82%AC
Mengapa UTF-8
Web modern memperlakukan UTF-8 sebagai standar. Fungsi encodeURIComponent pada browser mengubah teks menjadi byte UTF-8 lalu mengubah setiap byte menjadi %XX. Artinya karakter yang sama selalu di-encode dengan cara yang sama, dan proses decode mengembalikan teks aslinya secara persis.
Alat encode/decode di situs ini menggunakan fungsi bawaan browser, sehingga masukan Anda dikonversi secara instan dan tidak pernah dikirim ke server.
Kapan Anda membutuhkannya
Anda membutuhkan percent-encoding setiap kali Anda menyisipkan string sembarang ke dalam bagian sebuah alamat — tautan yang berisi kata kunci pencarian, nilai parameter query, atau URL target pengalihan yang ditaruh di dalam URL lain. Tanpa encoding, sebuah & atau = pada nilai bisa disalahartikan sebagai pemisah dan memotong parameter.