Tool

URL Parser

URL bileşenlerini ve query parametrelerini ayrıştırır.

Bu araç tarayıcınızda çalışır. Veriler dışarı çıkmaz.

Nasıl Çalışır

WHATWG URL standardı bir URL’i sekiz bileşene ayırır: scheme, username, password, host, port, path, query, fragment. Bu araç JavaScript’in bu standardı uygulayan yerleşik URL sınıfını kullanır — aşağıdaki alanlar sınıfın özellik adlarını (protocol, pathname, hash, …) kullanır, türetilmiş origin ve hostname alanlarını ekler, query string’i ise ayrı bir parametre tablosunda gösterir.

WHATWG vs RFC 3986

İki ana spec’i bilmek faydalı:

  • RFC 3986 — eski, daha katı. IETF’in genel URI sözdizimi.
  • WHATWG URL Living Standard — modern, tarayıcıların kullandığı. Daha bağışlayıcı.

İki spec arasında bazı URL’ler farklı parse edilebilir. Örnek: http://example.com sonuna / eklenmeli mi (WHATWG: evet, RFC 3986: zorunlu değil).

Bu araç WHATWG sürümünü kullanır — yani modern tarayıcıların kullandığı yorum.

Yaygın bug kaynakları

  • URLSearchParams her zaman değerleri string olarak verir. ?count=5 okurken Number(searchParams.get('count')) yapmak gerek.
  • Tekrarlanan parametreler: ?tag=a&tag=b için searchParams.get('tag') sadece ilk değeri verir. searchParams.getAll('tag') her ikisini.
  • Percent encoding: %20 boşluk, + ise sadece query string’de boşluk anlamına gelir. Pathname’de + ham karakterdir.
  • IDN (uluslararasılaştırılmış alan adları): münir.com parse edilirken xn--mnir-0ra.com (punycode) olarak normalize edilir.

Pathname trailing slash’i

/users ve /users/ aynı kaynağı mı temsil eder? Pratikte:

  • REST API’ler genellikle ayırt etmez.
  • Static dosya sunucuları ayırt edebilir (/users isteğini /users/ adresine yönlendirir, index’i orada sunar).
  • SEO açısından canonical bir form seçin ve diğerinden redirect.

Gizlilik

Yapıştırdığınız URL tamamen tarayıcınızda işlenir.

Ara

Yazmaya başlayın. Notlar, sistem yazıları, günlük, araçlar ve sayfalar.

gezesckapat