URL Ayrıştırıcı

URL'ler (Tekdüzen Kaynak Konum Belirleyicileri) web üzerindeki kaynakları tanımlar. Bu araç, URL'leri bileşen parçalarına ayırır: şema, ana bilgisayar, bağlantı noktası, yol, sorgu parametreleri ve parça. Yüzde kodlu değerleri otomatik olarak çözer, Punycode dönüşümü ile uluslararası alan adlarını (IDN) işler ve parametrelerdeki Base64 veya JSON gibi gömülü verileri algılayabilir.

Spesifikasyonlar

Yaygin Kullanim Alanlari

  • OAuth 2.0 yönlendirme URL'lerini ve geri çağırma parametrelerini hata ayıklama
  • Webhook URL'lerini ve sorgu parametrelerini inceleme
  • İzleme parametrelerini analiz etme (UTM, yönlendiren verileri)
  • Mobil derin bağlantıları çözme (app://, özel şemalar)
  • URL yönlendirme sorunlarını giderme
  • Uluslararası alan adlarını Unicode ve Punycode arasında dönüştürme

Ozellikler

  • Tüm URL bileşenlerini ayrıştırma (şema, ana bilgisayar, bağlantı noktası, yol, sorgu, parça)
  • Yüzde kodlu (URL kodlu) değerleri otomatik çözme
  • Sorgu dizesini anahtar-değer çiftlerine ayrıştırma
  • Uluslararası alan adlarını (IDN) Unicode ve Punycode arasında dönüştürme
  • Parametre değerlerinde Base64 veya JSON algılama ve çözme
  • Tek tek bileşenleri panoya kopyalama

Ornekler

OAuth Geri Çağırma

Deneyin →

Code ve state parametreli bir OAuth 2.0 yetkilendirme geri çağırması.

https://app.example.com/callback?code=abc123&state=xyz789&redirect_uri=https%3A%2F%2Fexample.com

Uluslararası Alan Adı (Punycode)

Deneyin →

Punycode kodlu alan adına sahip bir URL (xn-- öneki IDN'yi gösterir).

https://xn--mnchen-3ya.de/path

Uluslararası Alan Adı (Unicode)

Deneyin →

Punycode'a dönüştürülecek Unicode alan adına sahip bir URL.

https://münchen.de/path

Ipuclari

  • Yüzde kodlama, güvenli olmayan karakterleri %XX ile değiştirir; burada XX onaltılık değerdir.
  • Parça (#) sunucuya asla gönderilmez; yalnızca istemci tarafında kullanılır.
  • Sorgu parametreleri aynı anahtarla birden fazla kez görünebilir.
  • Kullanıcı bilgisindeki @ ve : gibi bazı karakterler kodlama gerektirir.
  • Parametre değerleri için encodeURIComponent(), tam URL'ler için encodeURI() kullanın.

Anlama URL Ayrıştırıcı

URL'ler (Tekdüzen Kaynak Konum Belirleyicileri) web'in adresleme sistemidir ve RFC 3986 tarafından URI'nin (Tekdüzen Kaynak Tanımlayıcı) belirli bir türü olarak tanımlanmıştır. Bir URL birkaç bileşenden oluşur: bir şema (https gibi protokol), bir yetki (ana bilgisayar, isteğe bağlı bağlantı noktası, isteğe bağlı kullanıcı bilgisi), bir yol, isteğe bağlı anahtar-değer parametrelerinden oluşan bir sorgu dizesi ve isteğe bağlı bir parça tanımlayıcı.

Yüzde kodlama (URL kodlama), URL'lerde özel karakterleri temsil etme mekanizmasıdır. Ayrılmamış karakter kümesi (A-Z, a-z, 0-9, -, _, ., ~) dışındaki karakterler %XX olarak kodlanmalıdır; burada XX baytın onaltılık değeridir. Boşluklar %20 olur (veya sorgu dizelerinde +). ASCII olmayan karakterler önce UTF-8 baytları olarak kodlanır, ardından her bayt yüzde kodlanır.

Sorgu dizeleri, & karakterleriyle ayrılmış key=value çiftleri olarak parametreleri taşır. Web uygulamaları bunları arama terimleri, sayfalama, filtreleme, sıralama ve izleme (UTM parametreleri) için kullanır. OAuth 2.0 yönlendirme URL'leri, sorgu parametrelerinde yetkilendirme kodları ve durum belirteçleri taşır. Karmaşık değerler kendileri de URL kodlu olabilir ve dikkatli çözme gerektiren kodlama katmanları oluşturabilir.

Uluslararası alan adları (IDN), alan adlarında ASCII olmayan karakterleri temsil etmek için Punycode kodlamasını (RFC 3492) kullanır. xn-- öneki, Punycode kodlu bir etiketi işaret eder. Örneğin, muenchen.de, xn--mnchen-3ya.de olur. Bu kodlama, yalnızca ASCII DNS sistemiyle uyumluluğu sağlarken herhangi bir yazı sisteminde alan adlarını destekler.

JavaScript, farklı amaçlara hizmet eden iki URL kodlama işlevi sağlar. encodeURI tam bir URI'yi kodlar ve URL'lerde yapısal anlamı olan karakterleri (: / ? # @ ve = gibi) korur. encodeURIComponent, bir sorgu parametresi değeri gibi tek bir URI bileşenini kodlayarak / ve & dahil tüm özel karakterleri kodlar. Parametre değerleri için encodeURIComponent, tam bir URL kodlarken yalnızca encodeURI kullanın. Parça tanımlayıcı (# sonrasındaki her şey), RFC 3986 tarafından yalnızca istemci tarafı olarak tanımlanmıştır — tarayıcılar bunu sayfa içi gezinme ve tek sayfa uygulamalarında istemci tarafı yönlendirme için kullanır, ancak sunucuya gönderilen HTTP isteklerine asla dahil edilmez.

Punycode, yalnızca ASCII DNS sistemi içinde uluslararası alan adlarını mümkün kılan kodlamadır. Latin olmayan karakterler içeren alan adları, DNS'te xn-- önekiyle Punycode kullanılarak depolanır, böylece muenchen.de, xn--mnchen-3ya.de olarak depolanır. Tarayıcılar kullanıcılara Unicode formunu gösterirken arka planda DNS çözümlemesi için Punycode formunu kullanır.

Sorgu dizeleri, ?color=red&color=blue gibi aynı parametre adı için birden fazla değer içerebilir. Farklı çerçeveler bunu farklı şekilde ele alır — bazıları son değeri, bazıları ilk değeri, bazıları da tüm değerlerin bir dizisini döndürür. Bu araç tüm parametre oluşumlarını gösterir. JavaScript'te URLSearchParams.getAll(), yalnızca ilk veya son yerine tekrarlanan bir anahtarın tüm değerlerini alır.

← Tum araclara don