Tarayıcınız güncel değil

Bu siteyi görüntülemek için tarayıcınızın veya cihazınızın işletim sisteminin güncellenmesi gerekiyor.

Your browser is out of date. Please update iOS or your browser to view this site.

Ana içeriğe geç
Gizke.com
Blog

URL Kodlayıcı ve Ayrıştırıcı

Cihazınızda çalışır. Hiçbir şey gönderilmez.
Ayrılmış her karakteri kodlar. Bir sorgu dizesine veya yol segmentine giden tek bir değer için bunu kullanın.

Sonuç burada görünecek

URL'leri ve sorgu dizelerini kodlayın ya da çözün, ya da tam bir URL'yi parçalarına ayırıp sorgu dizesini canlı bir tabloda düzenleyin - tamamen tarayıcınızda.

Bir URL yalnızca sınırlı bir ASCII karakter kümesini güvenle taşıyabilir - boşluk, ve işareti ya da Latin olmayan bir harf gibi her şeyin, URL içinde yer alabilmesi için %XX biçiminde yüzde kodlamasından geçmesi gerekir. Bu araç, tarayıcıların kullandığı aynı kurallarla metni kodlar ve çözer; ayrıca tam bir URL'yi protokol, sunucu, port, yol, sorgu dizesi ve hash parçalarına ayırır; böylece sorgu parametrelerini bir tabloda düzenleyebilir ve URL'nin canlı olarak yeniden oluşturulduğunu görebilirsiniz. Her şey tamamen tarayıcınızda çalışır - hiçbir şey herhangi bir yere yüklenmez.

Sık sorulan sorular

Yüzde kodlama (percent-encoding) nedir?
Yüzde kodlama (URL kodlama olarak da bilinir), bir karakteri % işareti ve UTF-8 gösterimindeki her bayt için iki haneli onaltılık değeriyle değiştirir. Bir URL'nin boşluk (%20), ve işareti (%26) ya da bir emoji taşıyabilmesinin, bunlar URL'nin kendi söz dizimiyle karıştırılmadan, yolu budur.
encodeURIComponent ile encodeURI arasındaki fark nedir?
encodeURIComponent, ayrılmamış birkaç karakter dışında her şeyi kodlar; bu yüzden tek bir değer için - bir sorgu parametresi ya da bir yol segmenti için - doğru seçimdir, çünkü aksi halde URL yapısı olarak okunacak & ve = gibi karakterleri de kodlar. encodeURI ise tüm bir URL içindir: :, /, ?, & ve # gibi yapısal karakterleri olduğu gibi bırakır ki URL çalışmaya devam etsin, yalnızca boşluk gibi bir URL'nin gerçekten içeremeyeceği karakterleri kodlar. Tüm bir URL'yi encodeURIComponent'ten geçirmek, eğik çizgileri ve iki nokta işaretlerini de kodlayacağı için URL'yi bozar.
escape() ve unescape() hâlâ kullanılmalı mı?
Hayır. Her ikisi de, encodeURIComponent'i de tanıtan JavaScript standardının ilk sürümünde kullanımdan kaldırılmıştır; çünkü escape(), ASCII olmayan karakterleri HTTP ve modern URL'lerin beklediği şekilde kodlamaz - Latin-1 dışındaki her şey için decodeURIComponent'in geri okuyamadığı standart dışı bir %uXXXX biçimi kullanır. Bu araç, bu seçeneği yalnızca eski bir sistemin ürettiği çıktıyı incelemenize izin vermek için tutar.
Sorgu dizesindeki + işareti neden boşluğa dönüşür?
Sorgu dizeleri tarihsel olarak HTML form gönderimlerinden gelir ve bunlar application/x-www-form-urlencoded biçimini kullanır: gerçek bir boşluğu %20 yerine + ile kodlar; bu aracın ayrıştırıcısı (ve JavaScript'in URLSearchParams'ı) çözerken ikisini de boşluk olarak ele alır. Bir değerde gerçekten bir artı işareti gerekiyorsa, bunun kendisinin %2B olarak yüzde kodlanması gerekir.
?tag=a&tag=b gibi tekrar eden bir parametrede ne olur?
Hiçbir şey kaybolmaz - bu araç her tekrarı, sırasıyla, sorgu parametresi tablosunda kendi satırı olarak korur; tıpkı çoğu sunucu çatısının tekrar eden bir anahtarı bir listede toplaması gibi. Bir satırı düzenlemek ya da kaldırmak diğerlerini etkilemez.
Ayrıştırıcı, yapıştırdığım URL için neden https:// varsaydı?
example.com/path gibi bir dizenin protokolü yoktur, bu yüzden ne bir tarayıcı ne de bu araç, bunun bir web adresi mi, başka bir protokol için mi yoksa düz metin mi olduğunu anlayabilir. Reddetmek yerine, ayrıştırıcı https:// varsayar, böylece yine de inceleyip düzenleyebilirsiniz - bu her olduğunda bir ipucu görünür ve farklı bir şema amaçlandıysa Protokol alanını düzeltebilirsiniz.

Bu aracı paylaş

BlogHakkımızdaİletişimKullanım KoşullarıGizlilik Politikası