URL Parser / Inspector
Bir veya daha fazla tam URL'leri (biri hattı) her birini protokole, ev sahibi, yol, sorgu dizesine ve parçaya, her sorgu parametresi decoded ile kırmak.
Bir veya daha fazla tam URL'leri (biri hattı) her birini protokole, ev sahibi, yol, sorgu dizesine ve parçaya, her sorgu parametresi decoded ile kırmak.
Bir URL sadece mektupları, basamakları ve küçük bir sembolü içerebilir (- _ . ~). Uzaylar, Noktalamalar ve İngilizce olmayan karakterler de dahil olmak üzere başka her şey, bir URL içinde seyahat etmeden önce yüzde-encoding ile temsil edilmelidir.
Percent-encoding, temel ASCII dışındaki herhangi bir şey için UTF-8 kullanarak iki dijital hexadecimal tarafından takip edilen bir karakterin yerini alır. Bir uzay%26 olur, bir ampersand olur ve aksanmış veya Latin olmayan bir karakter bir satırda birkaç %XX serisi olabilir, çünkü UTF-8 bunu tek bir aste olarak temsil eder.
Örneğin ? & = # ve / bir URL yapısında özel bir anlam var: sorgu dizesini, ayrı parametreleri işaretliyorlar veya parçaları tanıtıyorlar. Verileriniz bu karakterlerden birini yapı gibi bir değer olarak içermelise, ilk olarak kodlayın veya tarayıcı veya sunucu URL'nin bir parçasının sona erdiğini ve bir sonraki başlar.
Dekoding süreci tersine çevirir: her%XX serisini karaktere geri okur (veya aste), yukarıdaki aracın tam olarak ne yaptığını gösterir.
| Karakter Karakter Karakter | Encoded | Nerede kullanılır |
|---|---|---|
| Uzay uzay alanı | %20 | Bir değer içinde Word ayırıcı |
| ! | %21 | |
| " | %22 | |
| # | %23 | Parçayı başlatın |
| % | %25 | Yüzde bir kodlanmış dizi başlatır |
| & | %26 | Ayrı sorgu parametreleri |
| ' | %27 | |
| ( | %28 | |
| ) | %29 | |
| + | %2B | Genellikle bir sorgu dizesi içinde bir uzay olarak okunur |
| , | %2C | |
| / | %2F | Ayrı yol segmentleri |
| : | %3A | Planı takip edin, e.g. https: |
| ; | %3B | |
| = | %3D | Bir sorgu parametresinin değeri olarak |
| ? | %3F | Soru dizesini başlatın |
| @ | %40 | |
| [ | %5B | |
| ] | %5D |
Bir öğrenci çevrimiçi bir formdan bir web adresi kopyalar ve science%20project%20notes gibi bir metin görür. Yeni başlayan bir geliştirici bir API isteğini inceler ve bir arama değerinin içindeki bir "ve işareti"nin %26 olarak göründüğünü fark eder. Adres çalışır, ancak okunması ve hata ayıklaması zordur.
Bir URL Çöz aracı, yüzde ile kodlanmış dizileri karşılık gelen karakterlere geri dönüştürür. Örneğin, %20 genellikle bir boşluğa, %26 ise bir "ve işaretine" dönüşür.
Kod çözme; bağlantıları anlamak, sorgu parametrelerini incelemek, web kodlamasını öğrenmek ve hatalı biçimlendirilmiş istekleri teşhis etmek için kullanışlıdır. Dikkatli yapılmalıdır, çünkü ayrılmış karakterler çözüldükten sonra bir URL'nin yapısını değiştirebilir.
Bu araç, bir hedefin güvenli, doğru veya yetkili olup olmadığını belirlemez. Yalnızca kodlanmış karakterlerin gösterimini değiştirir. Öğrencilerin ve geliştiricilerin yine de ana bilgisayarı, yolu, parametreleri ve çözülmüş değerleri incelemesi gerekir.
URL'ler, bölümlerini ayırmak için belirli karakterler kullanır. Bir soru işareti bir sorgu dizesini başlatabilir, bir "ve işareti" parametreleri ayırabilir ve bir sayı işareti bir parçayı tanımlayabilir.
Bu karakterlerden biri yapısal bir ayırıcı yerine veri olarak görünmesi gerektiğinde, yüzde ile kodlanabilir. Bir yüzde işaretinin ardından bir bayt değerini temsil eden iki onaltılık rakam gelir.
| Kodlanmış Değer | Çözülmüş Karakter | Yaygın Anlamı |
|---|---|---|
%20 |
Boşluk | Bir değerin içindeki sözcükleri ayırır |
%21 |
! |
Ünlem işareti |
%23 |
# |
Sayı işareti veya parça belirteci |
%26 |
& |
Ve işareti veya sorgu ayırıcısı |
%2B |
+ |
Artı işareti |
%2F |
/ |
Eğik çizgi veya yol ayırıcısı |
%3A |
: |
İki nokta üst üste |
%3D |
= |
Eşittir işareti veya parametre ayırıcısı |
%3F |
? |
Soru işareti veya sorgu belirteci |
Yüzde dizilerindeki onaltılık harfler büyük/küçük harfe duyarlı değildir, bu nedenle %2F ve %2f aynı baytı temsil eder.
Şu örneği inceleyin:
https://example.edu/search?q=water%20cycle&level=grade%206#results
Ana bölümleri şunlardır:
httpsexample.edu/searchq=water%20cycle&level=grade%206resultsSorgu değerleri "water cycle" (su döngüsü) ve "grade 6" (6. sınıf) olarak çözülür. Parametreler arasındaki yapısal ve işareti, bir değerin içinde kodlanmış bir ve işaretiyle karıştırılmamalıdır.
Geliştiriciler, yalnızca tek bir bileşenin çözülmesi gerekirken tüm bir URL'yi çözerek genellikle sorunlar yaratır. Ayrılmış karakterler, göründükleri yere bağlı olarak farklı roller üstlenebilir.
Bir sorgunun şunu içerdiğini varsayalım:
?topic=research%26writing
Kodlanmış değer şunu temsil eder:
research&writing
Ve işareti, konu değerinin bir parçasıdır. Tam sorgu çözülür ve ardından yanlış ayrıştırılırsa, ve işareti başka bir parametre başlatan bir ayırıcı sanılabilir.
Güvenilir bir uygulama, URL'yi yapısına göre ayrıştırır ve her bileşeni rastgele dize değiştirmeleri yerine uygun bir URL API'siyle çözer.
Öğrenciler şunu inceler:
https://example.edu/library?topic=space%20science
Ana bilgisayarı, yolu, parametre adını ve kodlanmış değeri belirlerler.
space%20science değeri space science olur. Öğrenciler, paylaşılan bir URL'de gerçek bir boşluğun normalde neden doğrudan yazılmadığını açıklar.
Öğretmen şunu sağlar:
?title=Design%20%26%20Technology
Çözülen başlık Design & Technology şeklindedir. Öğrenciler, kodlanmış ve işaretinin parametreleri ayırmak yerine başlığa ait olduğunu gözlemler.
Öğrenciler yeni bir değer hazırlamak için URL Kodlama Aracını kullanır, ardından çözer ve sonucu karşılaştırır.
Bir dizi, %2 gibi eksik bir yüzde kaçış dizisi içerir. Öğrenciler, yüzde işaretinden sonra neden iki onaltılık rakam beklendiğini belirler.
Bir öğrenci, birkaç kodlanmış sözcük içeren bir kütüphane arama bağlantısını kopyalar. Görünen URL yorumlaması zordur.
Öğrenci, sorgu değerlerini çözer ve hangi arama terimlerinin ve filtrelerin dahil edildiğini onaylar. Bağlantı açılmadan önce ana bilgisayar kontrol edilir.
Bu, öğrencinin bir web sitesinin sayfalar arasında arama bilgisini nasıl taşıdığını anlamasına yardımcı olur.
Yeni başlayan bir geliştirici, bir ve işareti içeren bir ders başlığı ile bir istek gönderir. Sunucu, başlığı iki ayrı parametre olarak alır.
Geliştirici, ham isteği inceler ve ve işaretinin veri olarak kodlanmadığını keşfeder. Değer, standart bir URL API'si ile hazırlanır ve yeniden test edilir.
Kod çözücü isteği açıklamaya yardımcı olur, ancak kalıcı çözüm, elle değiştirme yerine yapılandırılmış URL işleme kullanır.
Bir öğretmen, bir sınıf belgesine bağlantı alır, ancak hedef, dosyanın bulunamadığını bildirir.
URL incelenir ve çözülür. Bir dosya adı, bir yol ayırıcısı olarak ele alınmış olabilecek bir eğik çizgi içerir veya bir boşluk yanlış kopyalanmıştır.
Öğretmen, tanımadığı özel bir adresi körlemesine düzenlemek yerine belge sahibinden yeni bir paylaşım bağlantısı edinir.
Öğrenciler basit bir arama formu oluşturur ve boşluk ile noktalama işareti içeren metni gönderdikten sonra URL'yi gözlemler.
Parametre değerlerini çözer ve orijinal form girdisiyle karşılaştırırlar. Sınıf, tarayıcıların değerleri bir URL'ye yerleştirmeden önce neden kodladığını tartışır.
Alıştırmada gerçek parola, öğrenci kaydı veya özel yanıt kullanılmaz.
Bir okul bültenindeki bağlantı birkaç izleme parametresi içerir. Bir öğretmen, paylaşmadan önce hangi bilgilerin dahil olduğunu anlamak ister.
URL parametrelerine ayrılır ve değerleri çözülür. Gereksiz izleme değerleri, yalnızca bunu yapmak gerekli hedefi bozmadığında kaldırılabilir.
Son bağlantı, elle düzenlemeden sonra çalışacağı varsayılmak yerine test edilir.
Bir bilgisayar dersi, bir URL içinde kısa, İngilizce olmayan bir ifadeyi test eder. Kodlanmış sonuç birkaç yüzde dizisi içerir, çünkü UTF-8 karakterleri birden çok bayt kullanabilir.
Öğrenciler tam diziyi çözer ve orijinal ifadeyle karşılaştırır. Yüzde ile kodlanmış tek bir baytı kaldırmak, bir yer değiştirme karakteri veya geçersiz metin üretebilir.
Etkinlik, görünen tek bir karakterin her zaman kodlanmış tek bir bayta karşılık gelmediğini gösterir.
Bir geliştirici bir boşluk bekler ama %2520 görür. %25 dizisi bir yüzde işaretini temsil eder, bu nedenle bir kod çözme geçişi %20 üretir ve bir diğeri bir boşluk üretebilir.
Geliştirici, değerin nerede iki kez kodlandığını izler. Her girdiyi tekrar tekrar çözmek yerine veri akışı düzeltilir.
Bir bağlantı, redirect veya next gibi bir parametrenin içinde başka bir kodlanmış URL içerir.
Kullanıcı, değeri düz metin olarak çözer ve açmadan önce gerçek hedef ana bilgisayarı kontrol eder. Kodlanmış bir adrese, yalnızca nihai hedefi okunması zor olduğu için güvenilmemelidir.
| Girdi | Muhtemel Kodlama | Doğru Araç | Çözülmüş Örnek |
|---|---|---|---|
lesson%20notes |
URL yüzde kodlaması | URL Çöz | lesson notes |
<p> |
HTML varlıkları | HTML Çöz | <p> |
SGVsbG8= |
Base64 | Base64 Çöz | Hello |
u003F |
Unicode kaçışı | JSON veya dile duyarlı bir ayrıştırıcı | ? |
Varlık referansları için HTML Çöz Aracını, verinin bu biçimleri kullandığı bilindiğinde ise Base64 Çöz Aracını kullanın.
Boşluklar genellikle %20 olarak gösterilir. Form tarzı sorgu kodlamasında, bir artı işareti de boşluk olarak yorumlanabilir.
Bu önemli bir ayrım yaratır:
class%20notes genellikle class notes olarak çözülür.class+notes, bir form sorgusu bağlamında class notes olarak çözülebilir.%2B olarak kodlanması gerekebilir.Belirli bileşen ve biçim için tasarlanmış kod çözme yöntemini kullanın. Bir yol kod çözücüsü ile bir form sorgusu kod çözücüsü, artı işaretlerini aynı şekilde ele almayabilir.
Yüzde kodlaması baytlar üzerinde çalışır. Temel ASCII dışındaki bir karakter, birkaç kodlanmış baytla temsil edilebilir.
Örneğin, aksanlı bir harf veya bir Arapça karakter, birden çok yüzde kaçışından oluşan bir dizi olarak görünebilir. Gerekli tüm baytların sırayla kalması ve doğru karakter kodlaması kullanılarak yorumlanması gerekir.
Çıktı yer değiştirme sembolleri içeriyorsa, şunları kontrol edin:
Ayrılmış karakterler çözüldükten sonra yapıyı değiştirebilir. URL'yi bileşenlerine ayırın ve yalnızca amaçlanan değeri çözün.
Tekrarlanan kod çözme, önceden güvenli olan verileri etkin ayırıcılara veya beklenmeyen yollara dönüştürebilir. Birden fazla kodlama katmanının neden var olduğunu izleyin.
%20'yi boşluklarla değiştirmek, tüm kodlanmış karakterleri, UTF-8 dizilerini, hatalı biçimlendirilmiş girdiyi veya artı işareti kurallarını ele almaz. Kodda yapılandırılmış bir URL ayrıştırıcısı veya standart bir API kullanın.
Önce metin olarak çözün. Ziyaret edip etmeyeceğinize karar vermeden önce şemayı, ana bilgisayar adını, yolu ve parametreleri inceleyin.
%26 ve &, farklı bağlamlarda bir ve işaretini temsil edebilir. Kod çözücüyü gerçek gösterime göre seçin.
Bir yüzde işaretinin ardından iki onaltılık rakam gelmelidir. Eksik veya geçersiz diziler, bozuk bir girdiye işaret edebilir.
URL'ler tarayıcı geçmişinde, günlüklerde, analitikte, ekran görüntülerinde ve paylaşılan mesajlarda görünebilir. Hassas kimlik bilgileri sorgu dizelerine yerleştirilmemelidir.
Çözülmüş değerler özel anlamı olan karakterler içerebilir. Çözülmüş bir eğik çizgi bir yolu etkileyebilir, bir ve işareti parametreleri değiştirebilir ve açılı ayraçlar bir web sayfasına yanlış eklendiğinde işaretlemeye dönüşebilir.
Uygulamalar şunları yapmalıdır:
Kod çözme, sterilizasyon değildir. Temsil edilen karakterleri ortaya çıkarır, ancak bunların HTML, dosya yolları, veritabanı sorguları veya yönlendirmeler için güvenli olup olmadığına karar vermez.
Bir URL; arama terimleri, belge tanımlayıcıları, e-posta adresleri, sınıf kodları, dosya adları, izleme verileri ve diğer bilgileri içerebilir. Kod çözme bu bilgiyi okumayı kolaylaştırır ama onu ortadan kaldırmaz.
Özel okul bağlantılarını, sıfırlama belirteçlerini, imzalı URL'leri, öğrenci kaydı adreslerini veya kimlik doğrulama verilerini harici bir araca yapıştırmayın. Dersler ve hata ayıklama gösterimleri sırasında hassas değerleri kurgusal örneklerle değiştirin.
Çözülmüş bir URL'nin ekran görüntüsünü paylaşmadan önce hesap adlarını, özel ana bilgisayarları, belirteçleri ve belge tanımlayıcılarını kaldırın.
Yeni başlayan geliştiricilerin yapılandırılmış URL API'lerini tercih etmesi gerekir. JavaScript'te bir sorgu değeri şu şekilde incelenebilir:
const url = new URL(
"https://example.edu/search?q=water%20cycle"
);
const query = url.searchParams.get("q");
console.log(query);
// water cycle
Bu yaklaşım, URL'yi ayrıştırır ve çözülmüş parametre değerini döndürür. Genellikle tam dizeyi her soru işaretinde, ve işaretinde ve eşittir işaretinde elle bölmekten daha güvenli ve daha nettir.
Metni bir URL bileşeni olarak kullanılmak üzere hazırlamak için URL Kodlama Aracını kullanın, ardından bir sınıf örneğini doğrulamak için çözün.
Girdi, &lt; veya &quot; gibi varlıklar içeriyorsa, HTML Çöz Aracını kullanın. Bilinen Base64 metni için Base64 Çöz Aracını kullanın.
Doğru kod çözücüyü seçmek, gereksiz dönüşümleri önler ve hata ayıklamayı daha güvenilir hale getirir.
URL kod çözme, yüzde ile kodlanmış dizileri okunabilir karakterlere dönüştürür. Öğrencilerin web adreslerini anlamasına ve geliştiricilerin sorgu değerlerini, API isteklerini, çok dilli metni, yönlendirmeleri ve çift kodlama sorunlarını incelemesine yardımcı olur.
En güvenli yöntem, URL bileşenini belirlemek, yalnızca gerekli olanı çözmek ve orijinal girdiyi korumaktır. Sonucu, hâlâ doğrulama gerektiren veri olarak ele alın.
Okunabilir, çözülmüş bir bağlantının araştırılması daha kolaydır, ancak otomatik olarak güvenli veya doğru değildir. Kullanmadan önce yapısını, hedefini, parametrelerini, gizliliğini ve amaçlanan karakter kodlamasını kontrol edin.