Home BİLİYOR MUSUN? BİR WEB SAYFASINI ZİYARET ETTİĞİNİZDE TAM OLARAK NELER OLUR?
BİLİYOR MUSUN? - 22 Eylül 2019

BİR WEB SAYFASINI ZİYARET ETTİĞİNİZDE TAM OLARAK NELER OLUR?

Bir web sayfasını ziyaret etmek için tek yapmanız gereken bir tıklama yapmak da olsa, bu sayfanın yüklenme yolculuğu bin kilometre ile bir milyon cihazı kapsar.

İnternet erişimi olan bizler şimdiye kadar muhtemelen yüzlerce ya da binlerce web sayfası ziyaret etmişizdir. Bir web sayfasının ne olduğundan pek de emin değilseniz, merak etmeyin. Bu makaleyi çok yüksek ihtimalle bir web sayfasında görüntülüyorsunuz. Tabii bu, bir web sayfası ziyaretinin ardında yatan hikayeyi bildiğiniz anlamına gelmiyor.

Gerçek hayatta bu yolculuğunuz yalnızca birkaç saniye sürer, yani bu web sayfasının cihazınıza yüklenmesi için gereken süre kadar… Ancak bu hikaye, bu birkaç saniye içinde bin kilometreyi kapsamış olabilir. Evet, sadece birkaç saniye içinde bin kilometre! Şimdi zamanı biraz yavaşlatalım ve bir web sayfasını ziyaret etmek istediğimizde aslında neler olduğuna göz atalım.

Web Sayfanızı Seçin

İlk ve belki de en basit adım, girmek istediğiniz web sayfasını seçmeniz. Şimdi öncelikle bir web sayfasının ne olduğunu zihnimizde oturtalım. Hiç Facebook’u ziyaret ettiniz mi? Evet, Facebook bir web sayfası. Reddit? O da bir web sayfası. Snapchat, Instagram ya da YouTube? Web sayfası, web sayfası ve başka bir web sayfası… Tek yapmanız gereken, yer işaretlerinizdeki bir web sayfasına tıklamak ya da arama çubuğuna web sayfasının adını girmek… İşte sihir burada gerçekleşir.

İstem

Henüz bilmiyorsanız, internet temel olarak istemci-sunucu modeline göre çalışır. Bir Big Mac siparişi vermekte olduğunuzu düşünün. Kasanın arkasındaki kişiden bir Big Mac istersiniz, o da verir. Sunucu denen cihazlarda depolanmış olan web sayfaları için de aynısı geçerlidir. Bu sunucular dünyanın herhangi bir yerinde depolanabilir. Bir web sayfasını ziyaret etmek istediğinizde, cihazınız, sunucuya göndermek üzere bir istem oluşturur.

İşte bu istemin yapılmasıyla işler ilginçleşir. Bir web sunucusuna yaptığımız istem, bir veri ‘paketi’ şeklinde dijital olarak yapılır. Bu sözde ağ paketini, birine gönderdiğimiz bir mektuba benzetebiliriz. Paket de tıpkı bir zarf gibi göndericinin adresi (kullandığınız cihazın IP adresi) ile alıcının adresini (veri talep ettiğiniz sunucunun IP adresi) içerecek ve içerisinde gerçek istemi saklayacaktır.

Bir ağ paketinin yapısı

Döngüsel Artıklık Denetimi (CRC)

Paket, bir paketin özgünlüğünü kontrol etmek için kullanılan bir nevi mühür de içerir. İnternette bir milyardan fazla veri paketi iletimi olduğundan, bir paketteki verilerden bir kısmı kaybolabilir veya bozulabilir. Verilerin özgün ve hatasız olduğunun alıcı tarafından doğrulanması için bu “özgünlük kontrolü” kullanılır. En yaygın uygulanan kontrol yöntemlerinden biri, oldukça sade bir yöntem olan Döngüsel Artıklık Denetimidir (CRC). Verilerin dijital olarak sayısal şekilde, yani 0’lar ve 1’ler olarak depolanıp kaydedildiğini biliyoruz. CRC basit şekilde verideki 1’leri toplayarak bu sayımı depolar. Depolanan sayım ile alıcının aldığı 1’lerin adedi eşleşirse, paket özgündür.

İletim

Paket, oluşturulduğuna göre artık gitmeye hazırdır. Paket önce çeşitli ağlar üzerinden telefon kablosu veya tel kablo aracılığıyla seyahat edecektir. Evinizde internet bağlantısı varsa, internetinizin evinizde bağlı olan telefon kablosu veya tel kablodan geçtiğini biliyorsunuzdur. Paket, bu kablolarla çeşitli ağlardan geçtikten sonra bölgenizin ya da ülkenizin, yerel postanenize benzetebileceğimiz ana internet merkezine varacaktır. Burada sunucunun IP adresi, bulunduğu alana deşifre edilecektir.

Ziyaret etmek istediğiniz web sayfasının yurt dışında sunucuları olduğunu varsayalım. Bir mektup nasıl sizin yerel postanenizden göndericinin yerel postanesine gönderilirse, ülkenizin ana internet merkezi de, paketi, sunucunun bulunduğu ülkenin internet merkezine gönderecektir. Ardından bu internet merkezi, istemi sunucuya yerel ağları aracılığıyla gönderecektir.

Peki bu paket ülkeden ülkeye nasıl gidiyor? Tüm dünyada internet merkezlerini birbirine bağlayan devasa bir kablo ağı olduğunu biliyor muydunuz? Bu kablolar karaları, denizleri ve hatta okyanusları geçiyor! Tüm bu kablolar, ışık hızında veri aktarabilen fiber optik kablolardır. Evet, o kadar hızlılar!

Deniz altı fiber optik kablo ağı

Yanıt

Sunucu, isteminizi aldıktan sonra web sayfasını göndermeye hazırdır, ancak sayfa, tek bir veri paketi olarak göndermek için fazla büyük olan metin, resim veya videolardan oluşabilir. Bu nedenle sunucu web sayfasını birden fazla veri paketine ayırarak gönderir.

Paketlere ayrılmış web sayfası

Bu çoklu paketler istemle aynı yolculuğu yapar, fakat tüm paketlerin aynı yoldan gitmesi gerekmez. Daha yüksek hızlara erişmek ve trafiğe takılmamak için her paket kendi yolundan gider. Kaliforniya’dan Londra’ya bir web sayfası göndermek istediğimizi farz edelim. Bazı paketler doğrudan Kaliforniya-New York-Londra yolundan giderken, diğerleri Kaliforniya’dan Kuzey Carolina’ya, Montreal’e, oradan da Londra’ya gidebilir. Diğer paketler Miami’ye, sonra da Londra’ya gidebilir. Önemli nokta şudur ki, paketler cihazınıza hemen hemen aynı anda varabilecekleri yollar seçerler (birkaç mikrosaniye farkla).

Artık tüm paketler cihazınıza ulaştığına göre, geriye kalan sadece web sayfasının yeniden oluşturulmasıdır. Bu işlem ‘sıralama’ adı verilen bir yöntemle yapılır. Sunucu web sayfasını çoklu paketlere bölerken, içinde bulundurduğu her pakete bir sıra numarası verir. Cihazınız da istediğiniz web sayfasını yeniden oluşturmak için aynı sıralamayı kullanır. İşlem tamam! Web sayfanız hazır!

Ziyaret etmek istediğiniz web sayfasına yaklaşık 500 kelime önce tıkladınız! Web sayfanıza birkaç saniye içinde ulaşmak için arka planda işleyen süreç gerçekten şaşırtıcı. Dünyanın neresinde olursanız olun, ortalama bir internet hızı web sayfanızı saniyeler içinde yükleyip karşınıza çıkaracaktır. Bu, modern bilimin muhteşemliğidir. Bundan sonra bir web sayfasının bağlantısına tıkladığınızda bu olağanüstü yolculuğu hatırlayın!

Çeviri: scienceabc

Görseller: scienceabc, Vikipedi

Referanslar

  1. Stanford University
  2. Mozilla Developer Network
  3. IBM Knowledge Center