İnternet tarayıcıları her gün defalarca kullandığımız uygulamaların başında geliyor. Adres çubuğuna bir internet sitesinin adını yazıyoruz ve istediğimiz site birkaç saniyede karşımıza çıkıyor. Bu kadar kolay çalışıyor gibi görünen internet tarayıcıları aslında oldukça karmaşık çalışma prensiplerine ve saniyeler içinde mucizeler yaratan alt sistemlere sahip ürünler.
Microsoft Edge, Google Chrome, Mozilla Firefox, Safari ve Opera dünyada en çok kullanılan ve internet trafiğinin %95’inin yoğunluğunu taşıyan internet tarayıcıları. Kullanıcı arayüzleri oldukça farklı görünse de tüm internet tarayıcıları benzer prensiplerle çalışıyorlar. Sizin için internet tarayıcıları nasıl çalışır sorusunu yanıtladık ve bilmeniz gerekenleri en basit şekilde açıkladık.
İnternet tarayıcıları nasıl çalışır?
Bir internet tarayıcısı, adres çubuğuna yazılan URL (bağlantı, link) bilgisini kabul eder, URL kaynağını çağırır, kaynaktaki içerikleri işler ve kullanıcı için görüntüler. İnternet tarayıcıları için kaynak ve kullanıcı arasındaki bir köprü demek yanlış olmaz.
Buna göre internet tarayıcılarının çalışma prensibini dört temel kategoride değerlendirebiliriz: URL kaynağını kabul etmek ve çağırmak, kaynağı işlemek ve yönlendirmek, kaynağı kullanıcı için görüntülemek, kaynaktan alınan içeriği depolamak. Dört kategorinin her biri farklı alt sistemler ile birlikte çalışırlar.
Kaynağı çağırmak:
İnternet tarayıcınızın adres çubuğuna yazdığınız link yani URL bilgisinin ait olduğu kaynaktaki içerik geniş bir ağ katmanının içinde bulunmaktadır. Kullanıcı, URL bilgisini yazdığı ve arama tuşuna bastığı zaman internet tarayıcısı ağ katmanı içinden HTTP / FTP protokollerini kullanarak kaynağı çağırır.
Oluşturma altyapısı olarak isimlendirilen bir alt sistem aracılığıyla kaynaktaki içeriğe ait veriler bayt boyutunda internet tarayıcısına gelmeye başlar. İnternet tarayıcısı, kaynak internet sitesindeki bazı verileri daha sonra kullanıcının daha kolay ulaşabilmesi için önbelleğine alır.
Kaynağı işlemek:
İşleme motoru:
URL bilgisi ile ağ katmanından kaynaktaki verileri çağıran internet tarayıcıları, kullanıcı için aldığı verileri işlemeye başlar. Kaynağı işlerken kullanılan üç farklı alt sistem bulunmaktadır. Bunlar; işleme motoru, JavaScript motoru ve arkayüz sistemidir.
İşleme motoru ağ katmanından alınan kaynaktaki verileri işler ve görünür hale getirir. İşleme motoru temel olarak HTML, XML ve görsel dosyaları işliyor. Her internet tarayıcısı farklı bir işleme motoru kullanabilir. Google Chrome ve Opera Blink, Mozilla Firefox Gecko, Microsoft Edge EdgeHTML, Safari ise WebKit işleme motorunu kullanıyor.
İşleme motoru kaynaktaki kodu DOM ağacı olarak isimlendirilen görünür nesneye çevirir. DOM ağacı kaynaktaki verilerin en temel halidir. Diğer alt sistemlerin de yardımıyla bu ağaç CSS özelliklerini, renkleri, arka planı gösterir bir hale gelir.
JavaScript motoru:
İşleme motoru HTML, XML ve görsel gibi basit dosyaları işleyerek DOM ağacını oluştururken JavaScript motoru JavaScript kodunu işler ve görüntüleme sürecini baştır. Elbette tüm bu süreç boyunca arkayüz sistemi veritabanını yönetir, sunucu ayarlamalarını yapar ve sistemin en verimli şekilde çalışmasını sağlar.
Her internet tarayıcısı farklı bir JavaScript motoru kullanabilir. Google Chrome Chrome V8, Safari JavaScriptCore, Mozilla Firefox SpiderMonkey, Microsoft Edge ise Chakra JavaScript motorunu kullanıyor.
JavaScript motoru, bellek yığınında JavaScript verilerini işlerken çağrı yığınında yapılan işlemleri düzenler. JavaScript motoru bu iki yığında verileri getirme ve düzenleme, verileri ve işleme sürelerini analiz etme, süreci optimize etme, çöp verileri toplama gibi temel işlemleri yerine getirir. Google’a ait olan Chrome V8 JavaScript motoru çöp verileri toplama işlemini en başarılı şekilde yapan motorlardandır.
Kaynağı görüntüleme:
Kaynağı görüntüleme kategorisi, kullanıcının kaynak ile karşılaştığı noktadır. URL bilgisi ile ağ katmanından çağrılan veriler işleme motorları tarafından işlendi ve sıra kullanıcının kaynağı görüntülemesine geldi. İnternet tarayıcıları bu noktada arayüzleri ve tarayıcı motorlarını kullanıyorlar.
İnternet tarayıcıları tarafından kullanıcıya sunulan arayüzler, kullanıcıların kaynak verilerini kontrol etmesini sağlar. Adres çubuğu, ileri ve geri butonları, kaydetme, açma ve kapama butonları ve kaynak verilerinin görüntülendiği ana ekran internet tarayıcılarının kullanıcı arayüzleridir. Bu konuda herhangi bir standart olmadığı için her internet tarayıcı özel olarak tasarlanmış bir arayüz kullanabilir.
Tarayıcı motoru alt sistemi, işleme motoru ve JavaScript motoru tarafından işlenen verinin kullanıcı tarafından görüntülenmesini ve internet tarayıcısının kullanıcı tarafından kontrol edilmesini sağlayan alt sistemdir. Yani, kullanıcının kaynak ile birebir etkileşime girmesini sağlayan sistemdir tarayıcı motoru.
İçeriği depolamak:
Her internet tarayıcısı kaynaktaki içeriklerin görüntülemesi sırasında kaynağa ait bazı verileri depolamak için sınırlı bir veri depolama kapasitesine sahiptir. Burada kaydedilen veriler, ağ katmanı ile bağlantının kopması durumuna karşı internet tarayıcısının arayüzüne alınan veriler ve kullanıcının kaynağa bir sonraki sefer daha kolay ulaşması için önbelleğe alınan verilerdir.
İnternet tarayıcılarının depoladığı veriler arasında yerel dosyalar, oturum verileri, çerezler, WebSQL verileri, IndexedDB dosyaları, AppCache verileri ve hizmet dosyaları gibi veriler vardır. Depolanan bu veriler arayüzde bulunur ve ağ katmanı ile iletişim kesilmesi durumunda bile kullanıcı tarafından görüntülenmeye devam eder.
Yerel dosyalar ve oturum verileri genel olarak JavaScript nesnelerinin anahtarlarından oluşur. Bu veriler özel olarak temizlenmediği sürece internet tarayıcısının depolama alanında saklanmaya devam eder. Depolama sınırları ortalama olarak nesne başına 5 MB, site başına ise 50 MB olarak belirlenir.
Çerezler, kaynak tarafından gönderilen anahtar verilerdir. İstemci ve sunucu arasında alışveriş edilirler. Çerezler, performans konusunda bazı sıkıntılar yaratsalar bile gizlilik ve güvenlik gibi konularda önem taşırlar. WebSQL verileri, IndexedDB dosyaları performans için gereklidir. Hizmet dosyaları ise Google’ın internet sitesi verilerini çevrimdışı kullanması için kullanılan bir yoldur.
Özetle, internet tarayıcıları nasıl çalışır?
İnternet tarayıcılarının çalışma prensibini ve karmaşık alt sistemlerini özetlemek gerekirse; internet tarayıcıları adres çubuğuna yazılan URL bilgisi ile ağ katmanında bulunan kaynağa ulaşır, kaynaktaki veriler arkayüz sisteminin yardımıyla işleme motoru ve JavaScript motoru tarafından işlenerek görüntülenir hale gelir, işlenen veriler internet tarayıcısının kullanıcı arayüzünde depolanır ve tarayıcı motoru sayesinde kullanıcı tarafından görüntülenerek kontrol edilir.
Sizin için internet tarayıcıları nasıl çalışır sorusunu yanıtladık ve bilmeniz gereken detayları en basit şekilde açıkladık. Tek dokunuşla kolayca internet dünyasını önümüze seren internet tarayıcılarının çalışma prensibine ve karmaşık alt sistemlerine şaşırmamak elde değil.