🚀 HTML URL Encode: Web Adreslerinin Gizli Dili
Tarayıcıların ve sunucuların özel karakterleri (boşluk, Türkçe karakterler vb.) sorunsuz anlaması için kullanılan URL kodlama (Percent-encoding) mantığını kavrayın.
URL Encoding Neden Gereklidir?
İnternet üzerindeki bir URL (Uniform Resource Locator), yalnızca belirli bir karakter setini (ASCII) kullanarak taşınabilir. Eğer bir linkin içinde boşluk, Türkçe karakterler (ğ, ü, ş gibi) veya URL için özel anlamı olan karakterler (?, &, #) varsa, tarayıcı bunları "güvenli" bir formata dönüştürmek zorundadır.
Bu işleme URL Encoding veya Percent Encoding diyoruz. Mantık basittir: Standart dışı karakter, % işareti ve ardından o karakterin onaltılık (hexadecimal) karşılığı ile değiştirilir.
Sık Karşılaşılan Örnekler:
Space (Boşluk)->%20veya+?->%3F&->%26ğ->%C4%9F
Geliştirici Notu: Biz NFS projesini web tarayıcısına taşırken binlerce asset dosyasını yönetiyorduk. Dosya yollarındaki en ufak bir boşluk veya hatalı kodlanmış karakter, o efsanevi motor seslerinin yüklenmemesine sebep oluyordu. Tarayıcı tarafında dinamik dosya yolu oluştururken
encodeURIComponentkullanmak hayat kurtarıcıdır.
Rezerve Edilmiş vs. Edilmemiş Karakterler
URL yapısında bazı karakterlerin özel bir görevi vardır. Örneğin ? sorgu parametrelerini başlatır, / dizinleri ayırır. Eğer bu karakterleri bir verinin (örneğin bir arama teriminin) içinde kullanmak isterseniz, tarayıcının kafasının karışmaması için onları kodlamanız gerekir.
- Güvenli (Kodlanmayan) Karakterler:
A-Z,a-z,0-9,-,_,.,~ - Kodlanması Gerekenler: Geri kalan her şey (Türkçe karakterler dahil).
Sonuç
URL encoding, verinin web üzerinde bozulmadan taşınmasını sağlayan görünmez bir köprüdür. Bir formdan veri gönderirken veya dinamik bir link oluştururken, karakterlerin birbirine karışmaması için bu standart her zaman devrededir.
Teknik deneyimlerimizi ve web'in sınırlarını zorladığımız projeleri merak ediyorsan, ovidgame.com üzerinden Ovid Game Günlüğü'ne göz atabilirsin.