URL Kodlayıcı / Çözücü
URL'lerdeki özel karakterleri güvenli bir şekilde kodlayın veya kodlanmış URL'leri orijinal haline çevirin.
: / ? # [ ] @ ! $ & ' ( ) * + , ; = dahil tüm özel karakterler encode edilir.
Özel Karakter Referans Tablosu
| Karakter | Kodlanmış Hali | Açıklama | encodeURI | encodeURIComponent |
|---|
URL Kodlama (URL Encoding) Nedir?
URL kodlama (percent-encoding veya URL encoding), URL'lerde güvenli bir şekilde kullanılamayan karakterlerin yüzde işareti (%) ve iki haneli onaltılık (hex) bir değerle temsil edilmesi işlemidir. RFC 3986 standardı tarafından tanımlanmıştır. Örneğin, boşluk karakteri %20, Türkçe "ş" harfi %C5%9F olarak kodlanır. Bu kodlama, web tarayıcıları ve sunucular arasında veri iletiminin sorunsuz gerçekleşmesini sağlar.
encodeURIComponent ve encodeURI Arasındaki Fark
encodeURIComponent(): URL'nin bir parçasını (genellikle sorgu parametresi değerini) kodlamak için kullanılır. : / ? # [ ] @ ! $ & ' ( ) * + , ; = dahil tüm özel karakterleri kodlar. Bir kullanıcı girdisini URL parametresi olarak eklerken bu fonksiyon kullanılmalıdır.
encodeURI(): Tam bir URL'yi kodlamak için kullanılır. URL'nin yapısını bozmamak adına : / ? # [ ] @ ! $ & ' ( ) * + , ; = gibi URL yapısal karakterlerini kodlamaz. Sadece boşluk ve URL'de geçersiz olan diğer karakterleri kodlar.
Neden URL Kodlama Gereklidir?
URL'ler yalnızca ASCII karakter setinin bir alt kümesini destekler. Boşluk, Türkçe karakterler (ç, ğ, ı, ö, ş, ü), Çince, Arapça gibi ASCII dışı karakterler ve bazı özel karakterler doğrudan URL'de kullanılamaz. URL kodlama bu karakterleri evrensel olarak anlaşılabilir bir formata dönüştürür. Web uygulamalarında form verilerinin gönderilmesi (application/x-www-form-urlencoded), API çağrıları, yönlendirme URL'leri ve cookie değerleri gibi birçok yerde URL kodlama zorunludur.
Yaygın Kullanım Senaryoları
API çağrıları: REST API'lerine gönderilen sorgu parametrelerindeki özel karakterler kodlanmalıdır. Form gönderimi: HTML formları varsayılan olarak verileri URL-encoded formatında gönderir. Yönlendirme URL'leri: OAuth ve SSO akışlarında redirect_uri parametresinin kodlanması gerekir. E-posta bağlantıları: mailto: linklerinde konu ve gövde alanları URL-encoded olmalıdır.
UTF-8 ve URL Kodlama
Modern web standartlarına göre URL kodlama UTF-8 karakter kodlaması kullanmalıdır. Türkçe "Ş" harfi UTF-8'de 0xC5 0x9E olarak temsil edilir ve URL'de %C5%9E şeklinde kodlanır. Eski sistemlerde Latin-1 (ISO-8859-1) kodlaması kullanılabilir, bu da farklı sonuçlar üretir. Bu nedenle her zaman UTF-8 kullanılması önerilir.