Blog

URL Encoding Nedir ve Neden Önemlidir? Başlangıç Seviyesi İçin Kapsamlı Rehber

URL Encoding'in ne olduğunu, yüzde kodlamasının nasıl çalıştığını, özel karakterlerin neden kodlanması gerektiğini ve geliştiricilerin bunu web uygulamaları ile API'lerde nasıl kullandığını öğrenin.

Yüzde kodlanmış karakterleri ve web geliştirmede kullanılan kodlanmış URL'leri gösteren URL Encoder.

URL Encoding Nedir ve Neden Önemlidir?

Bir bağlantıya her tıkladığınızda, bir form gönderdiğinizde veya bir API'ye veri ilettiğinizde, URL Encoding arka planda çalışır. Geliştiriciler bunu her gün kullansa da, birçok kişi neden gerekli olduğunu ve nasıl çalıştığını tam olarak bilmez.

Bu rehberde URL Encoding'in ne olduğunu, yüzde kodlamasının nasıl çalıştığını, ne zaman kullanılması gerektiğini, yaygın hataları ve modern web geliştirme için neden önemli olduğunu öğreneceksiniz.


URL Encoding Nedir?

URL Encoding (veya Percent Encoding), özel karakterleri URL içinde güvenli şekilde kullanılabilecek bir biçime dönüştürme işlemidir.

Bazı karakterlerin URL içinde özel anlamları vardır veya doğrudan kullanılamaz. URL Encoding bu karakterleri % işareti ve ardından gelen iki onaltılık sayı ile değiştirir.

Örneğin:

Boşluk → %20
@ → %40
? → %3F
# → %23

Bu sayede tarayıcılar ve sunucular URL'yi doğru şekilde yorumlayabilir.


URL Encoding Neden Gereklidir?

URL'ler yalnızca sınırlı sayıda karakteri destekler.

Aşağıdaki karakterler:

  • boşluklar
  • soru işaretleri
  • ampersand (&)
  • eğik çizgiler
  • diyez (#)
  • Unicode karakterleri

kodlanmadıkları takdirde URL'nin bozulmasına neden olabilir.

Kodlanmamış örnek:

https://example.com/search?q=hello world

Doğru sürüm:

https://example.com/search?q=hello%20world

Percent Encoding Nasıl Çalışır?

Her özel karakter şu biçime dönüştürülür:

%
+
onaltılık değeri

Örnekler:

Karakter Kodlanmış
Boşluk %20
! %21
" %22
# %23
% %25
& %26
+ %2B
/ %2F
: %3A
? %3F
= %3D

URL Encoding Örneği

Orijinal URL:

https://example.com/search?q=Hello World&lang=en

Kodlanmış URL:

https://example.com/search?q=Hello%20World&lang=en

URL Encoding ve Base64 Arasındaki Fark

Birçok yeni geliştirici bu iki teknolojiyi karıştırır.

URL Encoding

  • URL'leri güvenli hale getirir
  • özel karakterleri kodlar
  • okunabilirliği korur

Base64

  • ikili verileri metne dönüştürür
  • resimler, dosyalar ve token'lar için kullanılır
  • URL'ler için tasarlanmamıştır

Base64 bazen URL içinde kullanılabilir ancak çoğu zaman ayrıca URL Encoding uygulanması gerekir.


JavaScript'te URL Encoding

JavaScript yerleşik fonksiyonlar sunar.

Kodlama:

encodeURIComponent("Hello World!")

Sonuç:

Hello%20World%21

Kod çözme:

decodeURIComponent("Hello%20World%21")

Sonuç:

Hello World!

Node.js'te URL Encoding

Node.js aynı fonksiyonları kullanır:

encodeURIComponent()
decodeURIComponent()

Bunlar genellikle şu alanlarda kullanılır:

  • REST API'leri
  • Query Parameters
  • OAuth
  • Redirect URL'leri

Yaygın Hatalar

Geliştiriciler sıklıkla:

  • zaten kodlanmış bir URL'yi tekrar kodlar
  • query parametrelerini kodlamayı unutur
  • Base64 ile URL Encoding'i karıştırır
  • yerleşik fonksiyonlar yerine karakterleri elle değiştirir

En İyi Uygulamalar

✔ Kullanıcı girişlerini her zaman kodlayın.

✔ Query parametrelerini ayrı ayrı kodlayın.

✔ Özel karakterleri elle değiştirmeyin.

✔ Yerleşik fonksiyonları kullanın.

✔ Yalnızca gerektiğinde kod çözme işlemi yapın.


URL Encoding Ne Zaman Kullanılmalıdır?

Şu durumlarda URL Encoding kullanmalısınız:

  • Dinamik URL oluştururken
  • API istekleri gönderirken
  • Kullanıcı yönlendirirken
  • Query parametreleriyle çalışırken
  • Uluslararası karakterler gönderirken
  • İndirme bağlantıları oluştururken

Sonuç

URL Encoding, modern web'in temel teknolojilerinden biridir. URL'lerin tarayıcılar, sunucular ve API'ler tarafından doğru ve güvenli şekilde işlenmesini sağlar.

Web siteleri, REST API'leri, mobil uygulamalar veya backend servisleri geliştiriyorsanız, URL Encoding'i anlamak bozuk bağlantıları, kodlama hatalarını ve veri aktarım sorunlarını önlemenize yardımcı olur.

Doğru kodlama, uygulamalarınızı daha güvenilir hale getiren küçük ama önemli bir adımdır.