JavaScript

JavaScript’te URL Kodlamasıyla Ustalaşma

Spread the love

URL kodlaması, yüzde kodlaması olarak da bilinir ve verilerin URL’ler içinde güvenli bir şekilde iletilmesi için gereklidir. Bu işlem, standart URL’lerde izin verilmeyen karakterleri (boşluklar, özel karakterler ve vurgulu harfler gibi) web sunucularının anlayabileceği bir biçime dönüştürür. JavaScript, bunu etkili bir şekilde işlemek için encodeURI() ve encodeURIComponent() olmak üzere iki güçlü fonksiyon sağlar. Aralarındaki farkı anlamak, sağlam ve güvenli web uygulamaları oluşturmak için çok önemlidir.

İçerik Tablosu

URI ve URL Arasındaki Fark Nedir?

Sıklıkla birbirinin yerine kullanılsa da, URI (Tekdüzen Kaynak Tanımlayıcısı) ve URL (Tekdüzen Kaynak Konumlayıcısı) farklıdır. URI, bir kaynağı tanımlayan genel bir terimdir; URL ise, erişim mekanizmasını (örneğin, HTTP) belirterek bir kaynağı bulmak için kullanılan belirli bir URI türüdür. URI’yi adrese, URL’yi ise o adrese giden yönergelere benzetebilirsiniz. JavaScript kodlaması açısından pratik amaçlar için fark minimumdur; her ikisi de özel karakterleri işlemek için uygun kodlama gerektirir.

JavaScript’te encodeURI() Yöntemi Kullanılarak URL Kodlaması

encodeURI() yöntemi, eksiksiz bir URI veya URL’yi kodlar. URL yollarında, sorgu parametrelerinde veya parçacık tanımlayıcılarında izin verilmeyen özel karakterleri hedefler ve genellikle güvenli kabul edilen karakterleri (bölücüler /, soru işaretleri ? ve ve işaretleri & gibi) değiştirmeden bırakır.


let url = "https://www.example.com/search?q=hello world";
let encodedUrl = encodeURI(url);
console.log(encodedUrl); // Çıktı: https://www.example.com/search?q=hello%20world

encodeURI() boşlukları %20 (boşluğun yüzde kodlanmış gösterimi) ile değiştirir. Tüm URL’leri kodlamak için uygundur, ancak ayrılmış karakterler içerebilecek bireysel bileşenler için uygun değildir.

JavaScript’te encodeURIComponent() Yöntemi Kullanılarak URL Kodlaması

encodeURIComponent() daha agresiftir ve URL’ler içinde genellikle güvenli olanlar da dahil olmak üzere tüm özel karakterleri kodlar. Bu, bireysel URL bileşenlerini (sorgu parametreleri veya parçacık tanımlayıcıları) kodlamak için mükemmeldir. Bu yöntemle tüm URL’yi kodlamak hatalı bir URL ile sonuçlanacaktır.


let urlBase = "https://www.example.com/search?q=";
let query = "hello world & özel karakterler";
let encodedQuery = encodeURIComponent(query);
let completeUrl = urlBase + encodedQuery;
console.log(completeUrl); // Çıktı: https://www.example.com/search?q=hello%20world%26%20özel%20karakterler

encodeURIComponent()‘in tüm boşlukları ve ve işaretini nasıl kodladığına dikkat edin. Bu, dinamik olarak URL’ler oluşturulurken beklenmedik davranışları ve güvenlik açıklarını önler.

Doğru Kodlama Yöntemini Seçme

Tüm URL’ler için encodeURI() ve bireysel bileşenler (sorgu parametreleri, parçacık tanımlayıcıları) için encodeURIComponent() kullanın. Bu fonksiyonların yanlış kullanımı bozuk URL’ler ve sunucu tarafı hataları oluşturabilir. Orijinal verileri almak için URL’yi her zaman sunucu tarafında çözümleyin.

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir