Kapsamlı Rehber: URL Encoding (Yüzde Kodlaması) Nedir ve Nasıl Çalışır?
· 2 dk okuma
Kapsamlı Rehber: URL Encoding (Yüzde Kodlaması) Nedir ve Nasıl Çalışır?
İnternette gezinirken tarayıcınızın adres çubuğunda zaman zaman %20, %3F veya %3D gibi karmaşık karakter dizileri görmüşsünüzdür. Bu anlamsız görünen karakterler, aslında web'in kusursuz çalışmasını sağlayan çok önemli bir standardın, yani URL Encoding (URL Kodlama) işleminin sonucudur.
Peki, bir web adresi neden kodlanmaya ihtiyaç duyar ve bir geliştirici olarak bu süreci neden iyi anlamalısınız?
Neden URL Encoding Yapıyoruz?
Bir URL (Uniform Resource Locator) sadece belirli bir karakter setini, yani ASCII (American Standard Code for Information Interchange) standart karakterlerini kullanılarak internet üzerinden gönderilebilir.
Ancak sorun şudur: Bir URL'nin içinde boşluklar, Türkçe karakterler (ç, ş, ğ) veya ?, &, =, / gibi web tarayıcısı için özel anlam ifade eden karakterler bulunabilir. Tarayıcılar ve sunucular bu özel karakterleri birer komut veya ayırıcı olarak yorumlar. Verinin kendisini komutlardan ayırmak için bu karakterleri güvenli, standart bir formata dönüştürmemiz gerekir.
Ayrılmış (Reserved) ve Ayrılmamış (Unreserved) Karakterler
URL standartlarına göre karakterler iki ana gruba ayrılır:
- Ayrılmamış Karakterler (Kodlanmaz): Harfler (A-Z, a-z), rakamlar (0-9), tire (-), nokta (.), alt çizgi (_) ve tilde (~). Bu karakterler URL içinde güvenle kullanılabilir.
- Ayrılmış Karakterler (Kodlanmalıdır):
! * ' ( ) ; : @ & = + $ , / ? % # [ ]. Bu karakterler URL yapısında özel görevlere sahiptir. Örneğin?işareti sorgu parametrelerinin (query string) başladığını belirtir. Eğer aradığınız kelimenin kendisinde bir?varsa, tarayıcının kafasının karışmaması için bunu kodlamanız şarttır.
Yüzde Kodlaması (Percent-Encoding) Nasıl Çalışır?
URL Encoding işlemine genellikle Yüzde Kodlaması da denir. Tehlikeli veya desteklenmeyen bir karakter bulunduğunda, bu karakterin onaltılık (hexadecimal) ASCII değeri alınır ve başına bir yüzde işareti % eklenir.
Sık Karşılaşılan Kodlama Örnekleri:
- Boşluk (Space) ->
%20veya+ - Soru İşareti (
?) ->%3F - Eşittir (
=) ->%3D - Ampermet (
&) ->%26 - Bölü (Slash -
/) ->%2F
Örneğin, irisoft.tools/arama?q=web araçları şeklindeki bir istek, internete çıkmadan önce güvenli bir form olan irisoft.tools/arama?q=web%20ara%C3%A7lar%C4%B1 yapısına dönüştürülür.
API İsteklerindeki Kritik Rolü
Eğer bir API geliştiriyorsanız veya bir frontend uygulamasından arka uca (backend) GET istekleri atıyorsanız, kullanıcıdan gelen veriyi doğrudan URL'ye eklemek büyük bir hatadır. Kodlanmamış bir & veya = karakteri, API isteğinizi anında kırabilir (HTTP 400 Bad Request) veya veri bütünlüğünü bozabilir.
Karmaşık sorgu parametrelerini ayrıştırmak, okunmaz haldeki bir URL'yi saniyeler içinde insan diline çevirmek veya hatalı karakterleri güvenle kodlamak için irisoft.tools üzerinde yer alan URL Encode / Decode aracımızı ücretsiz ve reklamsız olarak kullanabilirsiniz.