URL Kodlama

Koleksiyonlar ile düzeninizi koruyun İçeriği tercihlerinize göre kaydedin ve kategorilere ayırın.

Bazı karakterler bir URL'nin parçası olamaz (örneğin, boşluk) ve bazı karakterlerin URL'de özel bir anlamı vardır. HTML formlarında = karakteri, adı bir değerden ayırmak için kullanılır. URI genel söz dizimi, bu sorunu gidermek için URL kodlamasını kullanırken HTML formları da böyle karakterlerin tümü için yüzde kodlaması uygulamak yerine bazı ek değişiklikler yapar.

Örneğin, bir dizedeki boşluklar %20 karakteriyle kodlanır veya artı işaretiyle (+) değiştirilir. Ayırıcı olarak bir dikey çizgi karakteri (|) kullanırsanız boruyu %7C olarak kodladığınızdan emin olun. Dizedeki virgül %2C olarak kodlanmalıdır.

URL'lerin platformunuz için uygun şekilde kod dışına alındığından emin olmak amacıyla URL'lerinizi otomatik olarak kodlamak amacıyla platformunuzun normal URL oluşturma kitaplıklarını kullanmanız önerilir.

Geçerli bir URL oluşturma

"Geçerli" bir URL'nin çok bariz bir şekilde belirgin olduğunu düşünebilirsiniz, ancak tam olarak doğru değildir. Örneğin, tarayıcıdaki bir adres çubuğuna girilen bir URL özel karakterler (ör."上海+中國") içerebilir. Aktarma işleminden önce tarayıcının bu karakterleri dahili olarak farklı bir kodlamaya dönüştürmesi gerekir. Aynı şekilde, UTF-8 girişi oluşturan veya kabul eden tüm kodlar, UTF-8 karakterlerine sahip URL'leri "geçerli" olarak işleyebilir, ancak bunları bir web sunucusuna göndermeden önce çevirmeleri gerekir. Bu işleme URL kodlaması veya yüzde kodlama adı verilir.

Özel karakterler

Tüm URL'lerin Tek Tip Kaynak Tanımlayıcısı (URI) spesifikasyonunda belirtilen söz dizimine uyması gerektiğinden özel karakterleri çevirmemiz gerekir. Bu, URL'lerin yalnızca ASCII karakterlerin özel bir alt kümesini içermesi gerektiği anlamına gelir: alfanümerik semboller ve URL'lerde kontrol karakteri olarak kullanılacak bazı ayrılmış karakterler. Bu tabloda şu karakterler özetlenmiştir:

Geçerli URL Karakterlerinin Özeti
AyarlaolabilirURL kullanımı
Alfanümerik a b c d e f n g h i j l m n n o p q r s u v w x y z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 0 1 2 3 4 5 6 Metin dizeleri, şema kullanımı (http), bağlantı noktası (8080) vb.
Ayrılmamış - _ . ~ Metin dizeleri
Rezervasyon yapıldı ! * ' ( ) ; : @ & = + $ , / ? % # [ ] Kontrol karakterleri ve/veya Metin Dizeleri

Geçerli bir URL oluştururken, URL'nin yalnızca Geçerli URL Karakterlerinin Özeti tablosunda gösterilen karakterleri içerdiğinden emin olun. Bu karakter kümesini kullanmak için bir URL oluşturmak, genellikle bir sorunu ve eksik olanı olmak üzere iki soruna yol açar:

  • Sevmek istediğiniz karakterler, yukarıda belirtilen grubun dışında var. Örneğin, 上海+中國 gibi yabancı dillerdeki karakterlerin yukarıdaki karakterler kullanılarak kodlanması gerekir. Genel kurala göre, URL'lerde izin verilmeyen boşluklar genellikle '+' karakteriyle de gösterilir.
  • Yukarıdaki karakterler içinde, ayrılmış karakterler olarak ayarlanmış karakterler vardır, ancak gerçek anlamda kullanılması gerekir. Örneğin, ?, sorgu dizesinin başlangıcını belirtmek için URL'lerde kullanılır. "&"; Gizemler" dizesini kullanmak isterseniz '?' karakterini kodlamanız gerekir.

URL kodlamalı tüm karakterler, bir '%' karakteri ve UTF-8 karakterlerine karşılık gelen iki karakterlik onaltılık bir değer kullanılarak kodlanır. Örneğin, UTF-8'deki 上海+中國, %E4%B8%8A%E6%B5%B7%2B%E4%B8%AD%E5%9C%8B olarak URL olarak kodlanır. ? and the Mysterians dizesi %3F+and+the+Mysterians veya %3F%20and%20the%20Mysterians olarak URL olarak kodlanır.

Kodlanması gereken yaygın karakterler

Kodlanması gereken bazı yaygın karakterler şunlardır:

Güvenli olmayan karakter Kodlanmış değer
Boşluk tuşu %20
" %22
< %3C
> %3E
# %23
% %25
| %7C

Kullanıcı girişinden aldığınız bir URL'yi dönüştürmek bazen zor bir süreçtir. Örneğin, bir kullanıcı "5.&";Ana St.&"; Genel olarak, tüm kullanıcı girişlerini düz karakter olarak değerlendirerek URL'nizi parçalarından oluşturmanız gerekir.

Ayrıca URL'ler, tüm Google Haritalar Platformu web hizmetleri ve statik web API'leri için 8.192 karakterle sınırlıdır. Çoğu hizmette bu karakter sınırına nadiren yaklaşılır. Bununla birlikte, belirli hizmetlerin uzun URL'lere neden olabilecek birkaç parametresi olduğunu unutmayın.