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 | Encoded | Nerede kullanılır |
|---|---|---|
| boşluk | %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 çevrim içi bir formdan web adresi kopyalar ve karşısında science%20project%20notes gibi bir metin bulur. Yeni başlayan bir geliştirici ise bir API isteğini incelerken arama değerinin içindeki ve işaretinin %26 olarak göründüğünü fark eder. Adres çalışıyordur, ama okuması da ayıklaması da zordur.
URL kod çözme aracı, yüzde ile kodlanmış dizileri karşılık geldikleri karakterlere geri çevirir. Örneğin %20 genelde boşluğa, %26 ise ve işaretine dönüşür.
Kod çözme; bağlantıları anlamak, sorgu parametrelerini incelemek, web kodlamasını öğrenmek ve bozuk istekleri teşhis etmek için işe yarar. Dikkatli yapılmalıdır, çünkü ayrılmış karakterler çözüldükten sonra adresin yapısını değiştirebilir.
Araç, gidilecek yerin güvenli, doğru ya da izinli olup olduğuna karar vermez. Yalnızca kodlanmış karakterlerin gösterimini değiştirir. Sunucuyu, yolu, parametreleri ve çözülmüş değerleri yine insanın incelemesi gerekir.
URL'ler, parçalarını ayırmak için belirli karakterler kullanır. Soru işareti sorgu dizesini başlatabilir, ve işareti parametreleri ayırabilir, sayı işareti ise bir parçayı gösterebilir.
Bu karakterlerden biri yapısal ayırıcı olarak değil de veri olarak görünmek zorunda kaldığında yüzde ile kodlanabilir. Yüzde işaretinin ardından, bir bayt değerini temsil eden iki onaltılık basamak 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 ya da parça göstergesi |
%26 |
& |
Ve işareti ya da sorgu ayırıcısı |
%2B |
+ |
Artı işareti |
%2F |
/ |
Eğik çizgi ya da yol ayırıcısı |
%3A |
: |
İki nokta |
%3D |
= |
Eşittir ya da parametre ayırıcısı |
%3F |
? |
Soru işareti ya da sorgu göstergesi |
Yüzde dizilerindeki onaltılık harfler büyük-küçük harfe duyarlı değildir; yani %2F ile %2f aynı baytı temsil eder.
Şu örneği ele alalım:
https://example.edu/search?q=water%20cycle&level=grade%206#results
Başlıca parçaları şunlardır:
httpsexample.edu/searchq=water%20cycle&level=grade%206resultsSorgu değerleri "water cycle" ve "grade 6" olarak çözülür. Parametreleri ayıran yapısal ve işaretini, bir değerin içine kodlanmış ve işaretiyle karıştırmayın.
Geliştiriciler çoğu zaman yalnızca tek bir bileşen çözülmesi gerekirken bütün URL'yi çözerek sorun yaratır. Ayrılmış karakterler, bulundukları yere göre farklı görevler üstlenebilir.
Diyelim ki bir sorgu şunu içeriyor:
?topic=research%26writing
Kodlanmış değerin karşılığı şudur:
research&writing
Ve işareti burada konu değerinin bir parçasıdır. Sorgunun tamamı çözülür ve ardından yanlış ayrıştırılırsa, bu ve işareti yeni bir parametre başlatan ayırıcı sanılabilir.
Güvenilir bir uygulama URL'yi kendi yapısına göre ayrıştırır ve her bileşeni gelişigüzel metin değiştirmeleriyle değil, uygun bir URL arayüzüyle çözer.
Öğrenciler şunu inceler:
https://example.edu/library?topic=space%20science
Sunucuyu, yolu, parametre adını ve kodlanmış değeri belirlerler.
space%20science değeri space science olur. Öğrenciler, paylaşılan bir URL'ye neden doğrudan boşluk yazılmadığını açıklar.
Öğretmen şunu verir:
?title=Design%20%26%20Technology
Çözülmüş başlık Design & Technology olur. Öğrenciler, kodlanmış ve işaretinin parametreleri ayırmadığını, başlığa ait olduğunu görür.
Öğrenciler URL Kodlama Aracı ile yeni bir değer hazırlar, sonra onu çözüp sonucu karşılaştırır.
Dizilerden birinde %2 gibi eksik bir yüzde kaçışı bulunur. Öğrenciler, yüzde işaretinden sonra neden iki onaltılık basamak beklendiğini açıklar.
Bir öğrenci, içinde birkaç kodlanmış sözcük bulunan bir kütüphane arama bağlantısı kopyalar. Görünen URL'yi yorumlamak zordur.
Öğrenci sorgu değerlerini çözer ve hangi arama terimlerinin ve süzgeçlerin bulunduğunu doğrular. Bağlantı açılmadan önce sunucu adı denetlenir.
Bu, bir sitenin arama bilgisini sayfalar arasında nasıl taşıdığını anlamaya yarar.
Yeni başlayan bir geliştirici, içinde ve işareti geçen bir ders başlığıyla 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ı görür. Değer standart bir URL arayüzüyle hazırlanır ve yeniden denenir.
Kod çözücü isteği anlamaya yardım eder, ama kalıcı çözüm elle değiştirmek değil, URL'yi yapısına göre işlemektir.
Bir öğretmene sınıf belgesine götüren bir bağlantı gelir, ama gidilen yer dosyanın bulunamadığını bildirir.
URL incelenip çözülür. Bir dosya adında, yol ayırıcısı sanılmış olabilecek bir eğik çizgi vardır ya da bir boşluk yanlış kopyalanmıştır.
Öğretmen, tanımadığı özel bir adresi körlemesine düzenlemek yerine belgenin sahibinden yeni bir paylaşım bağlantısı ister.
Öğrenciler basit bir arama formu yapar ve içinde boşluk ile noktalama bulunan bir metni gönderdikten sonra URL'ye bakar.
Parametre değerlerini çözüp forma girdikleriyle karşılaştırırlar. Sınıf, tarayıcıların değerleri URL'ye koymadan önce neden kodladığını tartışır.
Alıştırmada gerçek parola, öğrenci kaydı ya da özel yanıt kullanılmaz.
Okul bülteninin bağlantısında birkaç izleme parametresi vardır. Öğretmen, paylaşmadan önce içinde hangi bilgilerin bulunduğunu anlamak ister.
URL parametrelerine ayrılır ve değerleri çözülür. Gereksiz izleme değerleri yalnızca gidilecek adresi bozmayacaksa çıkarılabilir.
Elle düzenledikten sonra çalıştığı varsayılmaz; son bağlantı mutlaka denenir.
Bir bilişim sınıfı, URL içinde kısa bir yabancı ifadeyi dener. Kodlanmış sonuçta birden çok yüzde dizisi vardır, çünkü UTF-8 karakterleri birkaç bayt kullanabilir.
Öğrenciler dizinin tamamını çözüp özgün ifadeyle karşılaştırır. Yüzde ile kodlanmış tek bir baytı çıkarmak, yerine geçen bir karakter ya da geçersiz metin üretebilir.
Etkinlik, görünen bir karakterin her zaman tek bir kodlanmış bayta karşılık gelmediğini gösterir.
Bir geliştirici boşluk beklerken %2520 görür. %25 dizisi yüzde işaretini temsil eder; yani bir çözme geçişi %20 üretir, bir geçiş daha boşluk verebilir.
Geliştirici değerin nerede iki kez kodlandığını izler. Her girdiyi tekrar tekrar çözmek yerine veri akışı düzeltilir.
Bir bağlantının redirect ya da next gibi bir parametresinde başka bir kodlanmış URL bulunur.
Kullanıcı değeri düz metin olarak çözer ve açmadan önce asıl gidilecek sunucuyu denetler. Kodlanmış bir adrese, yalnızca varış yerini okumak zor diye güvenilmez.
| Girdi | Olası kodlama | Doğru araç | Çözülmüş örnek |
|---|---|---|---|
lesson%20notes |
URL yüzde kodlaması | URL Kod Çözme | lesson notes |
<p> |
HTML varlıkları | HTML Kod Çözme | <p> |
SGVsbG8= |
Base64 | Base64 Kod Çözme | Hello |
u003F |
Unicode kaçışı | JSON ya da dile özgü ayrıştırıcı | ? |
Varlık referansları için HTML Kod Çözme Aracı'nı, verinin Base64 olduğu biliniyorsa Base64 Kod Çözme Aracı'nı kullanın.
Boşluk genelde %20 ile gösterilir. Form biçimindeki sorgu kodlamasında artı işareti de boşluk sayılabilir.
Buradan önemli bir ayrım doğar:
class%20notes genellikle class notes olarak çözülür.class+notes, form sorgusu bağlamında class notes olarak çözülebilir.%2B olarak kodlanması gerekebilir.Her bileşen ve biçim için tasarlanmış çözme yöntemini kullanın. Bir yol çözücü ile bir form sorgusu çözücüsü artı işaretine aynı gözle bakmayabilir.
Yüzde kodlaması baytlar üzerinde çalışır. Temel ASCII dışındaki bir karakter birkaç kodlanmış baytla temsil edilebilir.
Örneğin şapkalı bir harf ya da Arapça bir karakter, birden çok yüzde kaçışından oluşan bir dizi olarak görünebilir. Gereken tüm baytlar sırasında kalmalı ve doğru karakter kodlamasıyla yorumlanmalıdır.
Çıktıda yerine geçen simgeler varsa şunlara bakın:
Ayrılmış karakterler çözüldükten sonra yapıyı değiştirebilir. URL'yi bileşenlerine ayırın ve yalnızca hedeflediğiniz değeri çözün.
Yinelenen çözme, daha önce zararsız olan veriyi etkin ayırıcılara ya da beklenmedik yollara dönüştürebilir. Birden çok kodlama katmanının neden var olduğunu izleyin.
%20 yerine boşluk koymak; tüm kodlanmış karakterleri, UTF-8 dizilerini, bozuk girdiyi ve artı işareti kurallarını karşılamaz. Kodda yapısal bir URL ayrıştırıcısı ya da standart arayüz kullanın.
Önce metin olarak çözün. Şemayı, sunucu adını, yolu ve parametreleri inceleyip sonra ziyaret edip etmeyeceğinize karar verin.
%26 ile &, farklı bağlamlarda ve işaretini temsil edebilir. Çözücüyü, karşınızdaki gerçek gösterime göre seçin.
Yüzde işaretinin ardından iki onaltılık basamak gelmelidir. Eksik ya da geçersiz diziler, bozuk girdiye işaret edebilir.
URL'ler tarayıcı geçmişinde, günlüklerde, analitik kayıtlarında, ekran görüntülerinde ve paylaşılan iletilerde görünebilir. Hassas kimlik bilgileri sorgu dizelerine konmamalıdır.
Çözülmüş değerler özel anlam taşıyan karakterler içerebilir. Çözülen bir eğik çizgi yolu etkileyebilir, bir ve işareti parametreleri değiştirebilir, açılı ayraçlar da bir sayfaya yanlış yerleştirildiğinde işaretlemeye dönüşebilir.
Uygulamalar şunları yapmalıdır:
Kod çözme bir arındırma değildir. Temsil edilen karakterleri görünür kılar, ama onların HTML'de, dosya yollarında, veritabanı sorgularında ya da yönlendirmelerde güvenli olup olmadığına karar vermez.
Bir URL; arama terimleri, belge kimlikleri, e-posta adresleri, sınıf kodları, dosya adları, izleme verileri ve başka bilgiler taşıyabilir. Kod çözme bunları okunur kılar, ortadan kaldırmaz.
Okula ait özel bağlantıları, sıfırlama anahtarlarını, imzalı adresleri, öğrenci kayıtlarına giden adresleri ve kimlik doğrulama verilerini dışarıdaki bir araca yapıştırmayın. Derslerde ve ayıklama gösterimlerinde 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 sunucuları, anahtarları ve belge kimliklerini kaldırın.
Yeni başlayan geliştiriciler yapısal URL arayüzlerini tercih etmelidir. JavaScript'te bir sorgu değeri şöyle 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 parametrenin çözülmüş değerini döndürür. Metnin tamamını her soru işaretinden, ve işaretinden ve eşittir işaretinden elle bölmeye göre genellikle hem daha güvenli hem daha anlaşılırdır.
Bir metni URL bileşeni olarak kullanmak üzere hazırlamak için URL Kodlama Aracı'nı kullanın, sonra sınıf örneğini doğrulamak için çözün.
Girdide &lt; ya da &quot; gibi varlıklar varsa HTML Kod Çözme Aracı'nı kullanın. Base64 olduğu bilinen metinler içinse Base64 Kod Çözme Aracı var.
Doğru çözücüyü seçmek gereksiz dönüşümleri önler ve ayıklamayı daha güvenilir kılar.
URL kod çözme, yüzde ile kodlanmış dizileri okunabilir karakterlere dönüştürür. Öğrencilerin web adreslerini anlamasına, geliştiricilerin ise sorgu değerlerini, API isteklerini, çok dilli metinleri, yönlendirmeleri ve çift kodlama sorunlarını incelemesine yarar.
En güvenli yol, URL bileşenini belirlemek, yalnızca gerekeni çözmek ve özgün girdiyi saklamaktır. Sonucu, hâlâ doğrulanması gereken veri sayın.
Okunur hâle gelmiş bir bağlantıyı incelemek kolaydır, ama bu onu kendiliğinden güvenli ya da doğru yapmaz. Kullanmadan önce yapısını, hedefini, parametrelerini, gizlilik yönünü ve amaçlanan karakter kodlamasını denetleyin.