Photo by Jamie Templeton on Unsplash

URL Nedir?

Web 1.0, 2.0 ve İnternet Ağ Kavramları yazımda HyperText, HTML, HTTP DNS ve REST kavramlarından bahsetmiştim. Bugün internet ve mekanizmaların çalışması için önemli olan diğer bir kavramdan; URL’den bahsetmek istiyorum.

URL (Uniform Resource Locator) internet üzerinden metin, resim, kod, css vb kaynağa erişebilmek için kulanılan adres tanımlama sistemi diyebiliriz.

Günümüzde Sunucu sistemlerinin 2'ye ayırırsak

  • Statik Web Sayfalar,
  • Web Uygulamaları; için dinamik URL alanlarının yönetilmesi Web uygulamaları ile mümkün hale gelmiştir. Örneğin REST üzerinden API çağrımlarını Web uygulaması yöneterek bunları farklı fonksiyonlara ve parametreleri ile birlikte yönlendirebilmektedir. Bu sayede 1000 lerce URL üretmek gerekmemektedir.

URL Modeli

https://nodejs.org/docs/latest/api/url.html
http://www.example.com:80/path/to/myfile.html?key1=value1&key2=value2#SomewhereInTheDocument

Protocol: URL hangi protokol üzerinden erişim sağlanacağını belirtir. Yukarıdaki örnekte http üzerinden url erişeceğini belirtir.

  • https,
  • ftp,
  • mailto,

Domain Name: Arkaplanda sunucular birbirlerini NameServer üzerindeki IP kayıtları üzerinden eriştiğini söylemiştik. Yani www.example.com arka planda 93.184.216.34 adresinde sunulan bir sunucudur. Biz tarayıcıya veya arkaplandan kodla URL bu Domain Name yazdığımızda Network ilerlerken isim sunucuları bunu IP dönüştürerek verinin ilerlemesini sağlarlar.

Port: Sunucu üzerindeki kapı anlamına gelir. Bu sayede aynı IP üzerinden birden fazla sunucu ile hizmet verilebilir. Örneğin 80 HTTP, 443 HTTPS, 25 SMTP vb.. sayesinde aynı sunucu üzerinden farklı farklı hizmetler verilebilir.

Path: Sunulan servis üzerindeki statik bir Web sayfası adresi veya API adresidir. path/to/myfile.html

Path/Query Parameters: ?key1=value1&key2=value2 bu URL bir takım parametreler geçirerek oluşturulacak sayfanın içeriği ve dinamik parametrelere göre güncellenebilir. Örneğin myfile.html kullanıcı bilgisini sayfaya basan bir html ise key1 kullanıcı id ise bu bilgiyi sunucu kullanarak aynı sayfayı farklı farklı içerikle görüntülebilir.

Anchor: #SomewhereInTheDocument Hash sonraki kısım dokuman içerisindeki belli bir kısma scroll veya fragment göstermek için kullanılır. ClientSideApp ilk evrelerinde bu kısım sunucuyu değiştirmediği için #username kullanarak web sayfasının tekrar sunucuya gitmeden sadece AJAX ile kullanıcı bilgisini çekerek tarayıcı üzerinde güncelleme yaparak SPA(Single Page App) sağlıyorlardı. Hash# kavramı bundan dolayı eskiden sıkça kullanılırdı. HistoryAPI pushState sayesinde React, Vue, Angular, Ember artık hash kullanmadan Single Page App gerçekleştirebilir hale gelmiştir .(Sayfa Reload olmadan URL değişimi)

Referanslar

Okumaya Devam Et 😃

Bu yazının devamı veya yazı grubundaki diğer yazılara erişmek için bu linke tıklayabilirsiniz.

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store