URL kodlaması
URL kodlaması, URI bileşenindeki bir baytı yüzde işareti ve iki on altılık rakamla gösterir.
Tanım
URL kodlaması, daha kesin adıyla yüzde kodlaması, bir baytı % ve iki on altılık rakamla gösterir. Boşluk %20, yüzde işaretinin kendisi %25 olarak yazılabilir.
Ayrılmamış URI karakterleri olan ASCII harfleri, rakamlar, -, ., _ ve ~ normalde değişmez. Diğer karakterler konum ve anlamlarına göre kodlanır.
Nasıl çalışır?
ASCII dışı metin önce, genellikle UTF-8 ile, baytlara çevrilir ve gerekli baytlar ayrı ayrı kodlanır. Böylece café, caf%C3%A9 olur.
/, ?, #, & ve = gibi ayrılmış karakterler URL yapısını kurar. Kodlama gereksinimi verinin yol bölümünde, sorgu parametresinde, parçada veya başka bileşende olmasına bağlıdır.
Boşluklar ve form verileri
Standart yüzde kodlaması boşluğu %20 yazar. Sorgu ve HTML formlarında kullanılan application/x-www-form-urlencoded biçimi çoğu zaman + kullanır; gerçek artı işareti bu durumda %2B olur.
Kütüphaneler genellikle URL, yol bölümü ve parametre değeri için ayrı işlevler sunar. Bileşene özgü işlev yapısal ayraçları doğru işler.
Güvenlik ve yaygın hatalar
Kodlama tersine çevrilebilir ve şifreleme değildir. Hassas değerler tarayıcı geçmişinde, günlüklerde, Referer verilerinde ve sunucu kayıtlarında görünür kalabilir.
Kodlanmış yüzdeyi yeniden kodlamak çift kodlama üretir: %20, %2520 olur. Kodlama kötü niyetli girdiyi güvenli yapmadığı için çözülen veri yine doğrulanmalıdır.
%20 boşluk baytının yüzde kodudur. + yalnızca form kodlamasında boşluk anlamına gelir; başka yerde gerçek artı olabilir.
Genellikle hayır. Yapısal ayraçların anlamını korumak için yol bölümlerini ve değerleri kendi bileşen işlevleriyle kodlayın.
Hayır. Sözdizimsel uyumluluk sağlar; gizlilik, bütünlük veya kimlik doğrulama sağlamaz.