URL Kodlama (Encode) Nedir, Ne Zaman Kullanılır?
URL kodlama (percent-encoding), bir adreste özel anlam taşıyan veya URL standardının izin vermediği karakterleri (boşluk, Türkçe harfler, &, ?, =, #, / gibi) tarayıcıların ve sunucuların güvenle taşıyabileceği %XX biçimindeki bir gösterime çevirir. Örneğin bir boşluk %20'ye, "ç" harfi ise UTF-8 baytlarının yüzde işaretli hex karşılığına dönüşür. Çözme (decode) işlemi bunun tersini yaparak kodlanmış bir adresi tekrar okunur hale getirir.
En sık kullanım alanı, bir arama sorgusu veya form değeri gibi bir metni bir URL'nin parçası yapmaktır: kullanıcı arama kutusuna "İstanbul otobüs saatleri" yazdığında bu değer adrese eklenmeden önce kodlanmalıdır, aksi halde boşluk ve Türkçe karakterler adresi bozar. Aynı şekilde bir API isteğinde sorgu parametresi olarak bir e-posta adresi (@ işareti içerir) veya bir dosya yolu (/ içerir) taşırken de kodlama gerekir. Geliştiriciler, log dosyalarında veya tarayıcı adres çubuğunda gördükleri kodlanmış bir URL'yi bu araçla hızlıca çözüp okunur hale getirebilir.
İpucu: "Bileşen" modu, bir URL'nin tek bir parçasını (ör. sorgu parametresinin değerini) kodlarken kullanılır ve / ? & = # gibi karakterleri de kodlar. "Tam URL" modu ise adresin bütününü kodlarken URL yapısını bozmaz. Yanlış modu seçmek, ör. https:// önekinin çift kodlandığı ya da sorgu ayırıcı & işaretinin gereksiz yere kodlandığı bir adres üretebilir — hangi modu seçtiğiniz sonucu doğrudan etkiler.
Bu araç tamamen tarayıcınızda çalışır; JavaScript'in yerleşik encodeURIComponent/decodeURIComponent fonksiyonlarını kullanır, hiçbir metin sunucuya gönderilmez. Bu sayede bir API anahtarı içeren bir yönlendirme adresini veya kimlik doğrulama bilgisi taşıyan bir bağlantıyı güvenle kodlayıp çözebilirsiniz. "Takas" düğmesi, çözdüğünüz bir çıktıyı tekrar girdi olarak kullanıp ileri-geri denemeler yapmak isteyenler için pratik bir kısayoldur — özellikle bir API isteğinin neden başarısız olduğunu araştırırken, gönderilen ham adresi adım adım kodlayıp çözerek karşılaştırmak faydalı olur.
Bunu da Dene
İşin bitti mi? Sırada bunlar olabilir.
Sık Sorulan Sorular
/ ? & = # dahil her özel karakteri kodlar; bir sorgu parametresinin değerini kodlarken bunu kullanın. Tam URL modu ise URL yapısını (://, ?, &) korur; adresin tamamını kodlarken bunu seçin.%20 ile kodlanır; ancak HTML form gönderimlerinde (application/x-www-form-urlencoded) tarihsel olarak + kullanılır. "Form kodlaması" seçeneği bu davranışı açar.encodeURIComponent/encodeURI, zaten güvenli olan karakterleri (harfler, rakamlar, - _ . ! ~ * ' ( )) olduğu gibi bırakır — yalnızca özel anlam taşıyan veya ASCII-dışı karakterler kodlanır. Bu, çıktının gereğinden fazla uzamasını önler.% işaretinden sonra iki hane yerine tek hane ya da hiç hane bulunmadığında) ya da metin kopyalanırken bir karakterin kesildiğinde olur. Metnin tamamını, başından sonuna kadar eksiksiz yapıştırdığınızdan emin olun.Son güncelleme: