Geliştirici Araçları

URL Encoder / Decoder

URL parametrelerinizi ve adreslerinizi güvenle dönüştürün. %100 Ücretsiz

Reklam

URL Encode/Decode: Percent-Encoding ve HTTP İletişim Standartları

İnternet tarayıcınızın adres çubuğunda gördüğünüz bir web adresi (URL), arka planda sunucuya (Server) gönderilen saf bir TCP/IP iletişim paketidir. 1994'te Tim Berners-Lee tarafından yazılan "RFC 3986" standartlarına göre, bir URL (Uniform Resource Locator) sadece ve sadece "US-ASCII" karakter setindeki güvenli (Alfanümerik) harfler kullanılarak iletilebilir. Ancak günümüzde bir URL içinde Boşluk (Space), Türkçe/Kiril karakterler veya Query String parametrelerinde &, =, ?, # gibi "Ayrılmış (Reserved)" operatörler bulunur. İşte bu güvensiz veya ayrılmış karakterleri, internet omurgasının (Internet Backbone) anlayabileceği ASCII standartlarına çevirme işlemine URL Encoding (Yüzde Kodlaması - Percent-Encoding) denir.

Geliştirdiğimiz bu çift yönlü (Encode/Decode) araç, frontend tarafında (JavaScript) encodeURIComponent() API'sini, backend tarafında ise HTTP protokolünün strict (katı) kurallarını referans alarak çalışır ve verilerinizin (Örn: Bir arama sorgusunun) sunucuya bozulmadan ulaşmasını sağlar.

Percent-Encoding Mantığı ve UTF-8 Entegrasyonu

Eğer bir metinde (String) ASCII tablosunda yer almayan "Ö, Ç, Ş" gibi bir karakter varsa, tarayıcı veya HTTP istemcisi (cURL/Postman) bu karakteri önce UTF-8 baytlarına (Byte) böler, ardından her bir baytı Hexadecimal (On altılık) sisteme çevirip başına bir % işareti ekler.

  • Boşluk (Space) Sorunu: Boşluk karakteri URL'lerde en büyük hatadır. Çoğu modern tarayıcı boşluğu %20 olarak Encode eder. Ancak eski HTML form gönderimlerinde (application/x-www-form-urlencoded) boşluklar + (Artı) işaretiyle kodlanırdı. Aracımız evrensel %20 standardını baz alır.
  • Ayrılmış (Reserved) Karakterlerin Korunması: Eğer bir şifre alanında qwe&asd gibi bir veri yollarsanız, sunucu & (Ampersand) işaretini gördüğünde yeni bir GET parametresi başladığını sanır ve veriyi "qwe" olarak kırpar (Truncate). Encode işlemi bu & işaretini anında %26 formatına dönüştürerek "Veri bütünlüğünü" (Data Integrity) korur.

Ne Zaman Encode, Ne Zaman Decode Kullanılır?

Geliştirme süreçlerinde bu çift yönlü matematiği doğru yerde konumlandırmak hayati önem taşır:

🔒 URL Encode (Şifreleme)

İstemci (Client) tarafında veri hazırlanırken kullanılır. Bir API'ye gönderilecek arama terimi, bir e-posta gövdesi (mailto: linkleri) veya bir JSON nesnesinin base64 hali Query String'e eklenecekse kesinlikle Encode işleminden geçmelidir.

🔓 URL Decode (Çözümleme)

Sunucu (Server) tarafında, Request (İstek) geldikten sonra "Parsing" işlemi yapılırken kullanılır. %C3%B6%C4%9Frenci olarak gelen anlamsız dizin, sunucuda Decode edilerek veritabanına "öğrenci" olarak saf Türkçe karakteriyle yazılır.

Geliştirici S.S.S.

encodeURI() ile encodeURIComponent() arasındaki fark nedir?

encodeURI() fonksiyonu, tam bir URL dizisini şifrelemek içindir; bu yüzden http:// içindeki : / ? = gibi anahtar karakterleri dokunmadan bırakır. Bizim aracımızın temelini oluşturan encodeURIComponent() ise sadece URL'nin sonuna eklenecek "Parametre" veya "Değer" alanlarını şifreler, böylece / dahil her şeyi acımasızca %2F formatına dönüştürür.

Çift kodlama (Double Encoding) hatası nedir?

Daha önce Encode edilmiş bir veriyi (Örn: %20) yanlışlıkla tekrar Encode ederseniz, bu sefer % işaretinin kendisi kodlanır ve veri %2520 şeklini alır. Sistemlerimiz bu tür hatalı mimarileri Decode tarafında kolayca tespit etmenizi sağlar.

RESTful API entegrasyonlarınızda (Axios, Fetch, cURL) veya webhook iletişimlerinizde veri kaybını (Data Corruption) önlemek için Bu platform güvencesiyle sunulan Güvenli URL Encoder/Decoder aracını kullanabilirsiniz.

Reklam