URL Kodlayıcı

Metinleri URL yapısını bozmadan güvenle aktaracak biçimde yüzde kodlamasına dönüştür.

Web adresleri yalnızca belirli bir karakter kümesini doğrudan kabul eder. Boşluklar, ve işaretleri, soru işaretleri veya Latin alfabesi dışındaki Türkçe harfler gibi öğeler usulüne uygun şekilde yüzde kodlamasına dönüştürülmezse bağlantı yapısı bozulur ve çözülmesi güç hatalar ortaya çıkar.

URL Encode İşleminde Ayrılmış Karakterlerin Rolü

Belirli karakterler URL dizilimi içinde özel görevlere sahiptir. Örneğin ? işareti sorgu parametrelerinin başlangıcını gösterir, & işareti değişkenleri birbirinden ayırır, = işareti anahtarı değere bağlar ve # işareti sayfa içi parçaları belirtir.

Bir parametre değerinin içine doğrudan ve işareti eklendiğinde sunucu bunu yeni bir değişkenin başlangıcı olarak algılar. Sonuç olarak girdiğin veri yarıda kesilir ve beklenmedik boş parametreler oluşur. Metni %26 biçiminde kodlamak, ayrıştırıcıya bu karakterin bir yapı taşı değil doğrudan veri olduğunu bildirir.

URL Encode Aracı ile Metin Dönüştürme

  1. URL içinde kullanmak istediğin metni ya da parametre değerini alana yapıştır.
  2. Dönüştürme butonuna tıkla.
  3. Oluşan yüzde kodlu çıktıyı kopyala ve sorgu dizisi ya da yönlendirme hedefine ekle.
  4. Tüm adresi tek seferde vermek yerine her parametre değerini ayrı ayrı kodla.
  5. Oluşturulan bağlantının doğru çözülüp çözülmediğini gerektiğinde çözücü araçla doğrula.

URL Encode Sırasında En Çok Karşılaşılan Karakterler

KarakterKodlanmış HaliNeden Önemlidir
boşluk%20 veya +Çoğu ortamda bağlantıyı tamamen geçersiz kılar
&%26Aksi halde parametre ayırıcı olarak yorumlanır
?%3FAksi halde sorgu metninin başlangıcı sanılır
=%3DAksi halde anahtar ve değer ayırıcı olarak algılanır
#%23Devamındaki tüm içerik sayfa içi bağlantı olarak görülür
/%2FAksi halde dizin ya da yol ayracı olarak işlenir
+%2BAksi halde çözülme esnasında boşluğa dönüşebilir

URL Encode Yaparken Adresin Tamamını Kodlamaktan Kaçın

En yaygın hatalardan biri eksiksiz bir web adresini bir bütün olarak kodlama kutusuna atmaktır. Böyle yapıldığında :// kalıbı ve geçerli tüm eğik çizgiler yüzde dizilerine dönüşür ve sunucuların tanıyamayacağı anlamsız bir metin ortaya çıkar.

En sağlıklı yöntem her değişken değerini tek tek dönüştürüp ana bağlantıyı bunun etrafında kurmaktır. JavaScript tarafında parametre değerleri için encodeURIComponent() fonksiyonunun tercih edilmesi ve encodeURI() yönteminin yalnızca tüm adresin genel düzenlemesinde kullanılması bu mantığa dayanır.

URL Encode Hakkında Sıkça Sorulan Sorular

Yüzde kodlaması ne anlama gelir?

Bir karakterin yüzde işareti ve ardından gelen onaltılık bayt değeriyle gösterilmesidir. ASCII tablosundaki onaltılık karşılığı 20 olduğu için boşluk karakteri %20 olarak temsil edilir.

Boşluk karakteri neden bazen artı işareti olarak görünür?

HTML form gönderimlerinde geçmişten bu yana sorgu dizisi içindeki boşluklar için + kullanımı yaygındır. Her iki biçim de geçerlidir; ancak %20 her yerde çalışırken + yalnızca sorgu parametrelerinde geçerlidir ve dosya yollarında kullanılamaz.

encodeURIComponent ile encodeURI arasındaki fark nedir?

encodeURIComponent ayrılmış karakterleri de dönüştürdüğü için bağımsız parametre değerlerinde kullanılır. encodeURI ise yalnızca boşluk gibi tamamen geçersiz karakterleri dönüştürür ve kurulu bağlantı yapısını korur.

Türkçe ve Latin dışı karakterler nasıl dönüştürülür?

Özel karakterler önce UTF-8 bayt dizilerine çevrilir ve her bayt sırayla yüzde koduna dönüştürülür. Bu nedenle tek bir Türkçe harf çoğunlukla iki adet yüzde dizisi üretir.

Bir metni üst üste iki kez kodlamak sorun yaratır mı?

Evet, çift kodlama ciddi bir hatadır. İlk işlemde oluşan %20 ikinci işlemde %2520 haline gelir ve sunucu bunu bir kez çözdüğünde verinin içinde fazladan %20 metni kalır.

Cookie
Verilerinizi önemsiyoruz ve deneyiminizi geliştirmek için çerezleri kullanmayı çok isteriz.