URL Kodlama Nedir? Yüzde Kodlaması Basitçe Anlatıldı
İçinde boşluk olan bir bağlantıyı bir tarayıcıya yapıştırın ve garip bir şey olur: boşluk %20’ye dönüşür. Bu %20, iş başındaki URL kodlamasıdır ve onu anlamak bağlantılar, formlar ve API’ler etrafındaki bütün bir kafa karıştırıcı hata kategorisini netleştirir. Bu rehber, geliştiriciler için yazılmış olsa da bağlantılarla çalışan herkesin anlayabileceği şekilde, URL kodlamanın ne olduğunu, neden var olduğunu ve ne zaman kodlama yapıp ne zaman çözümleme yapılacağını anlatır.
URL’ler neden kodlamaya ihtiyaç duyar
Bir URL yalnızca sınırlı bir karakter kümesini içerebilir: harfler, rakamlar ve tire, nokta, eğik çizgi gibi bir avuç simge. Geri kalan her şey başka bir biçimde temsil edilmek zorundadır.
Sorun şu ki gerçek veriler bu kümenin dışındaki karakterlerle doludur. Boşluklar, soru işaretleri, ve işaretleri, eğik çizgiler, vurgulu harfler ve emojiler, arama terimleri ve form değerleri gibi URL’lere koymak istediğimiz şeylerde ortaya çıkar. Bu karakterlerin çoğu ayrıca bir URL içinde özel bir yapısal görev üstlenir, bu yüzden onları ham hâliyle bırakmak bağlantıyı okuyan her ne ise onun kafasını karıştırır. URL kodlama, bu veriyi güvenli bir şekilde taşımanın üzerinde anlaşılan yoludur.
Yüzde kodlaması ne yapar
URL kodlamasına yüzde kodlaması da denir ve bu ad mekanizmayı tam olarak tarif eder.
İzin verilmeyen herhangi bir karakter, o karakterin bayt değerini temsil eden iki onaltılık basamağın takip ettiği bir yüzde işaretiyle değiştirilir. Bir boşluk %20 olur. Bir ve işareti %26 olur. Bir bölme çizgisi %2F olur. Bir soru işareti %3F olur.
Böylece bir URL içindeki fish & chips ifadesi fish%20%26%20chips hâline gelir. Veri tamamen korunur, yalnızca her tarayıcının ve sunucunun nasıl okuyacağında hemfikir olduğu bir biçimde yazılır. Çözümleme yalnızca süreci tersine çevirir, her %XX dizisini tekrar orijinal karakterine dönüştürür.
En çok önemli olduğu yer: sorgu dizeleri
Bir URL’nin ? işaretinden sonraki kısmı sorgu dizesidir ve kodlamanın hakkını verdiği yer burasıdır.
Bir sorgu dizesi, & ve = ile birleştirilmiş anahtar ve değer çiftlerinden oluşan bir listedir, şöyle:
?city=New%20York&sort=price
Bu & ve = karakterleri yapısaldır. Bir çifti diğerinden ayırır ve anahtarları değerlerden böler. Bu yüzden bir değerin kendisi bir ve işareti ya da bir eşittir işareti içeriyorsa, kodlanmalıdır, aksi hâlde sorgu dizesinin yapısıyla karıştırılır ve her şey yanlış ayrıştırılır. Değeri kodlamak, kullanıcının verisiyle URL’nin tesisatının birbirine karıştırılmasını önler.
Ne zaman kodlama, ne zaman çözümleme yapılır
İki yön, bir bağlantının yaşamındaki iki farklı anı kapsar.
- Ham değerlerden bir URL oluştururken kodlayın: bir kullanıcının yazdığı bir arama terimi, bir dosya adı, bir e-posta adresi, bir yol bölümüne ya da bir sorgu parametresine giren her şey. Özel karakterlerin bağlantıyı bozamaması için önce onu kodlayın.
- Başkasının oluşturduğu bir URL’yi okurken çözümleyin: bir sorgu dizesinden bir değer çekerken, bir günlükten bir bağlantıyı incelerken ya da
%20ile dolu bir adresi insan tarafından okunabilir bir şeye geri dönüştürürken.
Hızlı bir genel kural: bir URL’nin içine veri koyacaksanız, kodlayın. Bir URL’den veri çıkarıyorsanız, çözümleyin.
Base64’ten farkı nedir
URL kodlaması bazen Base64 ile karıştırılır, ama farklı sorunları çözerler.
Yüzde kodlaması özellikle URL’ler için tasarlanmıştır ve yalnızca o bağlamda güvensiz olan karakterlere dokunur, normal harfleri ve rakamları okunabilir bırakır. Base64 ise girdisinin tamamını harflerden, rakamlardan ve birkaç simgeden oluşan kompakt bir alfabeye yeniden yazar; bu, temiz bir URL oluşturmak için değil, ikili veriyi yalnızca metin kabul eden kanallar üzerinden taşımak için tasarlanmıştır. İkisi birbirinin yerine kullanılamaz: bir değeri URL için güvenli yapmak için yüzde kodlamasını, ikili içeriği düz metin olarak temsil etmeniz gerektiğinde Base64’ü kullanın.
Tarayıcınızda kodlayın ve çözümleyin
Onaltılık kodları elle aramanıza gerek yok. Ücretsiz URL Kodla/Çöz aracı, metni tek tıklamayla yüzde kodlu biçime ve geri dönüştürür, böylece bir sorgu değerini saniyeler içinde hazırlayabilir ya da dağınık bir bağlantıyı okuyabilirsiniz.
URL Kodla/Çöz aracı tamamen tarayıcınızda çalıştığı için kayıt gerekmez ve yapıştırdığınız hiçbir şey hiçbir yere yüklenmez. Bu da onu hassas değerler içerebilecek bağlantılar ve parametreler için güvenli kılar.
İlgili araçlar
Kodlama nadiren yalnız gezer, bu yüzden birkaç komşuyu tanımakta fayda var. Bir URL’yi güvenli yapmak yerine ikili veriyi metin olarak taşımanız gerektiğinde, Base64 Kodla/Çöz aracı bu dönüşümü halleder. Bağlantılar yerine bir web sayfası içeriğinde < ve & gibi karakterleri korumak için, HTML Kodla/Çöz aracı onları doğru biçimde kaçırır. Bir API yanıtı yoğun bir veri dizesi olarak geri geldiğinde ise, JSON Biçimlendirici onu uygun girintilemeyle okunabilir hâle getirir.
Kısa özeti
URL kodlama, ya da yüzde kodlaması, boşlukların ve özel karakterlerin bir bağlantıyı bozamaması için güvensiz karakterleri %XX kodlarıyla değiştirir; bu da en çok sorgu dizeleri içinde önemlidir. Bir URL oluştururken kodlayın, bir URL okurken çözümleyin ve Base64’e yalnızca metin olarak ikili veriye ihtiyacınız olduğunda başvurun. Bunun sizin yerinize yapılmasını istediğinizde, URL Kodla/Çöz aracı her iki yönü de tarayıcınızda halleder.
URL Kodla / Çöz aracını şimdi dene
Ücretsiz URL kodlayıcı ve çözücü. Sorgu dizelerini yüzde kodlayın veya %20 gibi kodları okunabilir metne çevirin. Tarayıcıda çalışır, yükleme yok.
URL Kodla / Çöz aracını aç