URL Parser
URL bileşenlerini ve query parametrelerini ayrıştırır.
Bu araç tarayıcınızda çalışır. Veriler dışarı çıkmaz.
- Protocol
- Origin
- Host
- Hostname
- Port
- Pathname
- Hash
- Username
- Password
Query parametreleri
| Anahtar | Değer |
|---|
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ı
URLSearchParamsher zaman değerleri string olarak verir.?count=5okurkenNumber(searchParams.get('count'))yapmak gerek.- Tekrarlanan parametreler:
?tag=a&tag=biçinsearchParams.get('tag')sadece ilk değeri verir.searchParams.getAll('tag')her ikisini. - Percent encoding:
%20boş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.comparse edilirkenxn--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 (
/usersisteğ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.