URL Encoding Kodla & Çöz
Ücretsiz çevrimiçi URL Encoding Kodla & Çöz aracı. %100 yerel işlem — verileriniz asla cihazınızı terk etmez.
Sonuç burada görüntülenecek...
Giriş → Kodla
Usage Guide
URL Kodlama Hakkında
URL Kodlama ( Yüzde Kodlamaolarak da bilinir, RFC 3986'da tanımlanmıştır) URL'lerdeki özel karakterleri güvenli karakterlere dönüştüren bir kodlama yöntemidir. URL'ler yalnızca ASCII karakterlerinin bir alt kümesine (harfler, sayılar ve birkaç özel karakter) izin verir; diğer karakterler (boşluklar, özel semboller gibi) URL'lerde kullanılmadan önce kodlanmalıdır. URL kodlama her baytı %XX formatına dönüştürür; burada XX o baytın onaltılık temsilidir. URL kodlama, web geliştirmenin temelini oluşturur ve URL parametreleri, form gönderimleri, HTTP istekleri ve diğer senaryolarda yaygın olarak kullanılır.
Kullanım Adımları
URL kodlama ve kod çözme çok basittir:
Kodlama Kuralları
URL kodlama şu kurallara uyar:
encodeURIComponent() fonksiyonu çoğu durumu doğru şekilde işler.Yaygın Kodlama Örnekleri
Bazı yaygın karakterler için URL kodlamaları:
Uygulama Senaryoları
URL kodlama çeşitli web geliştirme senaryolarında yaygın olarak kullanılır:
FAQ
Q: URL kodlama ile Base64 arasındaki fark nedir?
A: URL kodlama ve Base64 her ikisi de özel karakterleri işlemek için kullanılır, ancak farklı amaçlara hizmet eder. URL Kodlama: 1) Amaç: Özel karakterlerin URL'lerde güvenli biçimde iletilmesini sağlamak. 2) Format: %XX (örn. %20). 3) Senaryolar: URL parametreleri, form gönderimleri. Base64: 1) Amaç: İkili verileri metin formatına dönüştürmek. 2) Format: A-Z, a-z, 0-9, +, /. 3) Senaryolar: Resim gömme, JWT, e-posta ekleri. Seçim Tavsiyesi: 1) URL parametreleri: URL kodlama kullanın. 2) İkili veri: Base64 kullanın. 3) İkisi birleştirilebilir (örn. önce Base64, sonra URL kodlama).
Q: Boşluklar %20 mi yoksa + olarak mı kodlanmalı?
A: Boşluk kodlaması URL konumuna bağlıdır. %20: 1) URL yol kısmında kullanılır (örn. /path/merhaba%20dunya). 2) Fragment'ta kullanılır (# sonrası). 3) encodeURIComponent() boşlukları %20 olarak kodlar. +: 1) Sorgu dizelerinde kullanılır (? sonrası, örn. ?q=merhaba+dunya). 2) application/x-www-form-urlencoded formatı + kullanır. Öneri: Tek tip biçimde %20 olarak kodlamak için encodeURIComponent() kullanın; sunucular + ve %20'yi otomatik olarak işler.
Q: JavaScript'te URL kodlama nasıl kullanılır?
A: JavaScript farklı amaçlara sahip üç URL kodlama fonksiyonu sağlar. encodeURIComponent(): URI bileşenlerini (parametre değerleri) kodlar, önerilir. Tüm özel karakterleri kodlar (A-Z, a-z, 0-9, -, _, ., ~ hariç). encodeURI(): Tam URI'yi kodlar, URI yapı karakterlerini korur (:, /, ?, & gibi). Tam URL'leri kodlamak için uygundur. escape(): Kullanımdan kaldırıldı, önerilmez. Örnek:// Parametre değerini kodla (önerilir)
encodeURIComponent('Merhaba Dünya'); // 'Merhaba%20D%C3%BCnya'
// Tam URL'yi kodla
encodeURI('https://example.com/merhaba dunya'); // 'https://example.com/merhaba%20dunya'
Kod Çözme: decodeURIComponent() veya decodeURI() kullanın.
Q: ASCII dışı karakterler URL'de nasıl kodlanır?
A: ASCII dışı karakterler önce UTF-8 baytlarına dönüştürülmeli, ardından %XX formatında kodlanmalıdır. Örnek: “Türkçe” → UTF-8 baytları → URL kodlama: T%C3%BCrk%C3%A7e. JavaScript: encodeURIComponent('Türkçe') UTF-8 dönüşümünü otomatik olarak işler. Not: 1) Farklı kodlamalar farklı sonuçlar üretir. 2) Sunucu UTF-8'i doğru şekilde çözmeliyir. 3) Modern web uygulamaları tek tip UTF-8 kodlaması kullanır.
Q: URL kodlama veri boyutunu artırır mı?
A: Evet, URL kodlama veri boyutunu artırır; artış miktarı karakter türüne bağlıdır. ASCII Karakterler: 1) Harfler, sayılar: kodlanmaz, boyut değişmez. 2) Özel karakterler (&, = gibi): 3 bayt (%XX) olarak kodlanır, %200 artış. ASCII Dışı Karakterler: 1) UTF-8 kodlama: karakter başına 1-4 bayt, her bayt %XX (3 bayt) olarak. Optimizasyon: 1) Büyük miktarda veri iletmek için POST istekleri kullanın. 2) JSON formatını kullanmayı düşünün (URL kodlama gerekmez).
Q: URL kodlama ile HTML varlık kodlama arasındaki fark nedir?
A: URL kodlama ve HTML varlık kodlama farklı senaryolarda kullanılır. URL Kodlama: 1) Amaç: URL'lerde özel karakter iletmek. 2) Format: %XX (örn. %20). 3) Senaryolar: URL parametreleri, form gönderimleri. HTML Varlık Kodlama: 1) Amaç: HTML'de özel karakterleri görüntülemek. 2) Format: &ad; (örn. <) veya &#sayı; (örn. <). 3) Senaryolar: HTML içeriği, öznitelik değerleri. Örnek: < → URL kodlama: %3C, HTML varlık: < veya <.
Use Cases
Önerilir: URL Sorgu Parametreleri
URL sorgu dizelerinde parametre iletmek, URL kodlamanın en yaygın uygulamasıdır. Sorgu dizeleri ? ile başlar, parametreler & ile ayrılır ve parametre adları ile değerleri = ile bağlanır. Parametre değerleri özel karakterler içeriyorsa (boşluklar, &, = gibi), URL kodlanmaları gerekir. JavaScript'in encodeURIComponent() fonksiyonu parametre değerlerini doğru şekilde kodlar.
- ✅ Parametre değerlerini kodlamak için encodeURIComponent() kullanın
- ✅ Sorgu dizeleri oluşturmak için URLSearchParams API kullanın
- ✅ Sunucu karşılık gelen kod çözme fonksiyonlarını kullanır
- ❌ URL parametrelerini manuel olarak birleştirmeyin
- 💡 Büyük miktarda veri için POST isteklerini düşünün
Önerilir: HTML Form Gönderimi
HTML formları, URL kodlamanın bir varyantı olan application/x-www-form-urlencoded kodlamasıyla veri gönderir. Form verileri key=value&key=value formatında gönderilir; boşluklar + olarak, diğer özel karakterler %XX olarak kodlanır. Modern tarayıcılar form kodlamasını otomatik olarak işler; geliştiricilerin genellikle manuel kodlama yapması gerekmez. Ancak JavaScript (Fetch API gibi) kullanarak form verileri oluştururken manuel kodlama gerekir.
- ✅ Kodlamayı otomatik işlemek için FormData API kullanın
- ✅ Form verileri oluşturmak için URLSearchParams kullanın
- ✅ Sunucu form verilerini doğru şekilde çözer
- 💡 Dosya yüklemeleri için multipart/form-data kullanın
Önerilir: RESTful API Yol Parametreleri
RESTful API'lerde kaynak tanımlayıcıları özel karakterler (boşluklar, eğik çizgiler gibi) içerebilir ve URL kodlama gerektirir. Örneğin, /kullanicilar/Ahmet Yilmaz, /kullanicilar/Ahmet%20Yilmaz olarak kodlanmalıdır. API'nin kaynak tanımlayıcılarını doğru ayrıştırabilmesi için yol parametrelerini kodlamak üzere encodeURIComponent() kullanın.
- ✅ Yol parametrelerini kodlamak için encodeURIComponent() kullanın
- ✅ Sunucu yol parametrelerini doğru şekilde çözer
- ✅ Kaynak tanımlayıcıları olarak adlar yerine ID kullanmayı düşünün
- 💡 URL şablon kütüphaneleri kullanın (path-to-regexp gibi)
Önerilir: OAuth Kimlik Doğrulama
OAuth kimlik doğrulama akışlarındaki redirect_uri ve state gibi parametreler URL kodlama gerektirir. Örneğin, redirect_uri genellikle sorgu parametreleri içeren eksiksiz bir URL'dir ve parametre değeri olarak iletilmeden önce tümüyle kodlanması gerekir. OAuth sunucusunun bunları doğru ayrıştırabilmesi için bu parametreleri kodlamak üzere encodeURIComponent() kullanın.
- ✅ redirect_uri'yi kodlamak için encodeURIComponent() kullanın
- ✅ state parametresini kodlamak için encodeURIComponent() kullanın
- ✅ Kod çözülen redirect_uri'nin geçerli olduğunu doğrulayın
- 💡 Otomatik işlem için OAuth kütüphaneleri kullanın (Passport.js gibi)
Önerilir: Arama Motoru Sorguları
Arama anahtar kelimeleri URL'lerde iletilirken URL kodlama gerektirir. Örneğin, Google'da “merhaba dünya” aramasının URL'si https://www.google.com/search?q=merhaba+d%C3%BCnya'dır. Arama motorları URL kodlamayı otomatik olarak işler; kullanıcıların genellikle manuel kodlama yapması gerekmez. Ancak arama URL'leri oluştururken (otomatik yönlendirmeler gibi), arama anahtar kelimelerini kodlamak için encodeURIComponent() kullanılmalıdır.
- ✅ Arama anahtar kelimelerini kodlamak için encodeURIComponent() kullanın
- ✅ Birden fazla anahtar kelimeyi işleyin (boşluk veya + ile ayrılmış)
- ✅ Arama motoru API'lerini kullanmayı düşünün
- 💡 Arama URL'leri oluşturmak için URLSearchParams kullanın
Önerilir: URL Kısaltma Servisleri
URL kısaltma servisleri (bit.ly gibi) uzun URL'leri depolamadan ve iletmeden önce kodlamaları gerekir. Uzun URL'ler özel karakterler (sorgu parametreleri gibi) içerebilir ve URL kodlama gerektirir. Kısaltma servisinin bunları doğru ayrıştırıp geri yükleyebilmesi için uzun URL'leri kodlamak üzere encodeURIComponent() kullanın. Kısaltma servislerinin genellikle kodlanmış URL'yi yeniden kodladığını unutmayın, bu nedenle kod çözme birden fazla geçiş gerektirebilir.
- ✅ Uzun URL'leri kodlamak için encodeURIComponent() kullanın
- ✅ Kod çözülen URL'lerin geçerli olduğunu doğrulayın
- ✅ Çoklu kodlama durumlarını işleyin
- 💡 Kısaltma servisi API'lerini kullanın
En İyi Uygulama Önerileri
- URL parametre değerlerini kodlamak için encodeURIComponent(), tam URL'leri kodlamak için encodeURI() kullanın.
- Sorgu dizelerindeki boşluklar + olarak, yollarda %20 olarak kodlanır; tek tip biçimde %20 olarak kodlamak için encodeURIComponent() kullanın.
- ASCII dışı karakterler UTF-8 kodlaması kullanır; sunucunun doğru şekilde kod çözdüğünden emin olun.
- URL parametrelerini manuel olarak birleştirmeyin; otomatik kodlama işlemi için URLSearchParams API veya FormData API kullanın.
- URL kodlama veri boyutunu artırır; büyük miktarda veri için POST istekleri veya JSON formatı kullanın.
- URL enjeksiyon saldırılarını önlemek için kod çözülen URL'lerin geçerliliğini doğrulayın.