URL Ayrıştırıcı
Bağlantıları protokol, ana makine, yol ve parametre bileşenlerine ayır.
Karmaşık sorgu parametreleriyle uzayıp giden bir web adresini doğrudan okumak zordur. Bağlantıyı ayrıştırmak, tüm bileşenleri düzenli bir yapıda görmeni ve iletilen değerleri tek tek incelemeni sağlar.
URL Ayrıştırıcı ile Adım Adım İnceleme
- İncelemek istediğin bağlantı adresini alana yapıştır.
- Ayrıştırma işlemini başlatmak için butona tıkla.
- Protokol, alan adı, dizin ve dosya adı gibi ayrıştırılmış alanları gözden geçir.
- Sorgu parametrelerini ve çözümlenmiş değerleri incele.
- Hatalara yol açabilecek yinelenen parametreleri belirle.
- İhtiyacın olan parçayı doğrudan kopyala.
URL Yapısını Oluşturan Temel Parçalar
- Scheme / Protocol — Bağlantı kuralını tanımlar, genellikle
httpsşeklindedir ve iki nokta üst üste işaretinden önce yer alır. - Host / Domain — Web sitesinin adresi; isteğe bağlı alt alan adı veya bağlantı noktası içerebilir.
- Path / Directory — Belirli bir kaynağı gösteren dizin veya dosya konumu; örneğin
/blog/post-title. - Query string —
?işaretinden sonra gelen ve parametreleri içeren anahtar-değer çiftleri. - Fragment —
#işaretinden sonra gelen ve sayfa yüklendiğinde belirli bir konumu hedefleyen bölüm.
URL Fragment Parçası Neden Sunucuya Ulaşmaz?
Bir bağlantıda # işaretinden sonraki kısım HTTP isteğiyle sunucuya iletilmez. Bu bölüm yalnızca istemci tarafında ele alınır; bu nedenle sunucu günlüklerinde veya sunucu taraflı analiz kayıtlarında yer almaz.
Bu durum arka uç geliştirmede önemlidir: sunucu kodunda fragment verisini doğrudan okuyamazsın. Bu değeri işlemek için istemci tarafındaki betiklere ihtiyaç duyulur. Geçmişte hash tabanlı yönlendirme kullanan tek sayfalı uygulamaların sunucu taraflı işlemede zorlanmasının nedeni de budur.
URL Ayrıştırma ile Tespit Edilen Durumlar
- Aynı parametrenin birden fazla kez geçmesi ve sunucunun hangisini seçeceğinin belirsizliği.
- İki kez kodlanmış ve
%25şeklinde görünen hatalı karakter dizileri. - Yönlendirme zincirleri boyunca biriken gereksiz takip parametreleri.
- Başka bir bağlantının içine hedef olarak gömülmüş kodlanmış adresler.
- Beklenmeyen port numaraları veya farklı protokol kullanımları.
URL Ayrıştırıcı Hakkında Merak Edilenler
Bir URL genel olarak hangi parçalardan oluşur?
Şema, ana makine, yol, sorgu parametreleri ve fragment gibi parçalardan oluşur. Ayrıca protokol ve dizin bilgileri de bu yapı içinde ayrıştırılabilir.
Fragment kısmı sunucuya neden gitmez?
Tasarım gereği kaynak yerine kaynağın içindeki belirli bir noktayı gösterir; bu yüzden sunucu yerine doğrudan tarayıcı tarafından çözümlenir.
Yinelenen parametreler nasıl değerlendirilir?
Her sunucu yazılımı farklı davranır; bazıları ilk değeri, bazıları sonuncuyu alır, bazıları diziye dönüştürür. Karışıklığı önlemek için tekrar eden parametrelerden kaçınmak gerekir.
Sorgu parametrelerinde büyük-küçük harf fark eder mi?
Alan adı genelde harf duyarsız olsa da yol ve parametre adları ile değerleri sunucular tarafından büyük-küçük harfe duyarlı olarak ele alınır.
Yapıştırdığım bağlantı harici bir yere gönderilir mi?
Bağlantı ayrıştırma işlemi için sunucuya iletilir ve işlendikten sonra sonuç üretilir; veriler kalıcı olarak kaydedilmez veya saklanmaz.