0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0
Ortamlar
URL'lerde güvenli kullanım için metin dizelerini kodlayın ve çözebilirsiniz. Component tüm rezerv edilmiş karakterleri kodlar — sorgu parametre değerleri için idealdir. full URL URL yapısını (şema, eğik çizgiler, soru işaretleri) korur. HTML formlarındaki boşluklar için + HTML formlarındaki (application/x-www-form-urlencoded) boşluklar için kullanın.
İş Buluşması
Kapsam
Uzaylar
0

Nasıl çalışır

URL kodlaması (percent-encoding), bir adreste doğrudan görünemeyen karakterleri, bayt değerini taşıyan %XX dizileriyle değiştirir. Örneğin boşluk %20 olur.

"Bileşen" kapsamı ayrılmış karakterleri de (= & / ? #) çıkışlar: bir parametrenin değeri için kullanın. "Tam URL" adres yapısını korur: bütün bir URL için kullanın.

HTML formlarında boşluk + olarak kodlanır (application/x-www-form-urlencoded); diğer tüm durumlarda RFC 3986 standardına göre %20 kullanılır.

Örnekler

hola mundo & máshola%20mundo%20%26%20m%C3%A1s"&" karakteri, bir parametre ayırıcısıyla karışmaması için çıkışlanır (%26); "á" ise UTF-8 ile kodlanır (%C3%A1).
a=1&b=2a%3D1%26b%3D2
https://sitio.com/á b?x=1 2URL completa: https://sitio.com/%C3%A1%20b?x=1%202"Tam URL" modunda ://, / ve ? korunur; yalnızca adresi bozacak şeyler çıkışlanır.

Kullanım senaryoları

  • Bir URL'yi elle oluştururken sorgu parametrelerini güvenli biçimde hazırlamak.
  • &, =, boşluk veya aksan içeren değerleri bir GET isteğinde göndermeden önce kodlamak.
  • Her parametrenin hangi değerleri taşıdığını okumak için bir URL'nin kodunu çözmek.
  • Form gönderimi için application/x-www-form-urlencoded gövdeleri hazırlamak.

Sık sorulan sorular

"Bileşen" ile "Tam URL" arasındaki fark nedir?

"Bileşen" (encodeURIComponent) ayrıca =, &, /, ?, # karakterlerini çıkışlar — tekil bir değer içindir. "Tam URL" (encodeURI) bu yapısal karakterleri korur — bütün bir URL içindir.

Boşluk için ne zaman + ne zaman %20 kullanılır?

+ yalnızca form gövdesi için geçerlidir (application/x-www-form-urlencoded). URL'nin geri kalanında boşluğun standardı %20'dir.

"á" neden tek bir %XX değil de %C3%A1 olur?

Çünkü UTF-8 ile kodlanır: ASCII olmayan karakterler birkaç bayt kaplar ve her bayt kendi %XX dizisiyle temsil edilir.

Bir URL'yi kodlamak onu güvenli yapar mı?

Hayır. Onu yalnızca söz dizimi düzeyinde geçerli kılar. Bu bir şifreleme değildir ve içeriği hiçbir şekilde korumaz.