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

Bir URL altı bileşenden oluşur: protocol, host, port, pathname, search, hash. Bu araç JavaScript’in WHATWG URL standardını uygulayan yerleşik URL sınıfını kullanır.

WHATWG vs RFC 3986

İki ana spec’i bilmek faydalı:

  • RFC 3986 — eski, daha katı. Tarihte Java/PHP gibi diller bunu temel aldı.
  • 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 sonunda / 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 (Türkçe domainler): münir.com parse edilirken xn--mnir-loa.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/ index’e yönlendirir).
  • 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.