Tarayıcınızdaki bir web sitesine göz attığınızda tam olarak ne olur?


64

Bir tarayıcıya www.cnn.com yazarken sahne arkasında ne olur ve ekranda bilgiler nasıl görüntülenir?

Teknik bir açıklama çok takdir edilecektir.


Bu kitapta harika bir teknik açıklama bulunabilir: Bilgisayar Ağı: Yukarıdan Aşağıya Bir Yaklaşım 6. Baskı (Link: Kitap ). (sayfa 495-500) Çok fazla ayrıntıya giriyorlar; bilgisayar açıldığında ne olduğu ile başlayanlar, kullanıcıların web sitesinde bir web sitesinin görüntülendiği zamana kadar. Bu slayt setinde kitapta belirtilenlerin tadına bakabilirsiniz. (Bağlantı: Slayt 88 - 95)
Slothworks

Yanıtlar:


134

Tarayıcı: "Tamam, bu adresi isteyen bir kullanıcım var: www.cnn.com. Herhangi bir eğik çizgi veya bir şey olmadığından bu ana sayfanın doğrudan bir talebi olduğunu düşünüyorum. Ayrıca tanımlanmış bir protokol veya bağlantı noktası da yoktu. öyleyse, bunun HTTP olduğunu ve 80 numaralı bağlantı noktasına gideceğini varsayalım ... ah, ilk önce ilk şeyler. Hey DNS, dostum, uyan! Bu www.cnn.com nerde saklanıyor? "

DNS: "Doğru ... bir saniye bekleyin, ISS sunucularına soracağım. Tamam, 157.166.226.25 gibi görünüyor."

Tarayıcı: "Tamam. Internet Protokolü Paketi, sıra sizde! Çağrı 157.166.226.25, lütfen. Onlara bu HTTP başlığını gönderin. Ana sayfalarının temel yapısını ve içeriğini soruyor, bu yüzden ne getireceğimi biliyorum ... oh iyi, "Bu umrunda değil, sanırım."

TCP / IP: " Benim sıram neyi kastediyorsun ? Sadece DNS için arkanda çalışmam gibi mi? Tanrım, burada biraz takdir almak için ne gerekiyor?"

Tarayıcı: ...

TCP / IP: "Evet, evet ... Bağlanıyor ... Sadece ağ geçidinden iletmesini rica ediyorum. Biliyor musun, hepsi bu kadar kolay değil, güzel isteğini oraya bölmek zorunda kalacağım. bu yüzden sonuna ulaşıyor ve aldığım binlerce paketten geri gönderdikleri her şeyi birleştiriyor ... ah, doğru, umrumda değil. Rakamlar. "

Bu arada, CNN merkezinde, bir mesaj sonunda Web Sunucusunun kapısında sona erer.

CNN Web Sunucusu: "Nzhôô! Bir müşteri! Haber istiyor! Ön Sayfa! Peki ya?"

CNN Sunucu Tarafı Komut Dosyası Motoru: "Doğru, yapacak! Ön sayfa, değil mi?"

CNN Database Server: "Evet! Benim için çalış! Hangi içeriğe ihtiyacın var?"

CNN Sunucu Tarafı Komut Dosyası Motoru: "... um, üzgünüm DB, ön sayfamın tam bir kopyasını önbellekte saklıyorum, hiçbir şey derlemeye gerek yok. Ama hey, bu kullanıcı kimliğini alıp sakla, göndereceğim Müşteriye de, sonra kiminle konuştuğumuzu biliyoruz. "

CNN Veritabanı Sunucusu: "Evet!"

Kullanıcının bilgisayarına geri dönelim ...

TCP / IP: "Ooookay, işte cevap geliyor. Ah, neden bunun büyük bir duygu olacağı hissine sahibim ..."

Tarayıcı: "Ah, vay ... bu her türlü javascript koduna sahip ... birçok resim, birkaç form var ... Doğru, bu işlem biraz zaman alacaktır. almanız gereken bir sürü şey var .. Bakalım i.cdn.turner.com adresinden - HTTP üzerinden birkaç stil sayfasına ihtiyacım var ve /cnn/.element/css/2.0/common.css dosyasını isteyin. o zaman ben de i.cdn.turner.com adresindeki bazı komut dosyalarını al, şimdiye dek altı tane sayıyorum ... "

TCP / IP: "Resmi aldım. Bana sadece sunucu adreslerini ve diğerlerini verin. Bu dosya işlerini HTTP isteğine sarın, onunla uğraşmak istemiyorum."

DNS: "i.cdn.turner.com adresini kontrol ediyor ... hey, önemsiz şeyler, aslında cdn.cnn.com.c.footprint.net olarak adlandırılıyor. IP 4.23.41.126"

Tarayıcı: "Elbette, elbette ... bir saniye bekle, bu işlem birkaç dakika sonra sürecek, tüm bu betiği anlamaya çalışıyorum ..."

TCP / IP: "Hey, işte istediğiniz CSS. Oh, ve ... evet, bu ek komut dosyaları da geri döndü."

Tarayıcı: "Whew, dahası var ... bir çeşit video reklamı!"

TCP / IP: "Ah, ne gibi eğlenceli ..."

Tarayıcı: “Her türlü resim de var! , Bunu yapmak için biraz germek zorunda kalacağım ... Oh, ama diğer CSS dosyaları bu kuralı geçersiz kılar ... Eh, bu, işlenmesi kolay bir parça olmayacak, orası kesin! "

TCP / IP: "Tamam, tamam, bir saniye beni rahatsız etmeyi bırak, burada yapmamız gereken çok şey var."

Tarayıcı: "Kullanıcı, işte size küçük bir ilerleme raporu. Maalesef, bu işlem birkaç saniye sürebilir, yüklenecek 140 farklı öğe var ve şu ana kadar 16'da olacak."

Bir veya iki saniye sonra ...

TCP / IP: "Tamam, hepsi bu kadar olmalı. Hey, dinle ... üzgünüm sana daha önce fırlattım, orada idare mi ediyorsun? Bu da senin için oldukça yük gibi görünüyor."

Tarayıcı: "Phew, evet, bugünlerde tüm bu web siteleri var, kesinlikle sizin için kolaylaştırmıyorlar. Eh, idare edeceğim. Bunun için buradayım."

TCP / IP: "Bugünlerde hepimiz için çok ağır sanırım ... Ah, orada DNS'i bırakmayı bırak!"

Tarayıcı: "Hey kullanıcı! Web sitesi hazır - git haberi al!"


17
Demek bilgisayarım karanlıktan sonra böyle yapıyor.
Phoshi

7
Büyük Açıklama ... Şapka size kapalı ... Tombala ...
Rachel 0

7
Çılgınca bir hikaye anlatımı :)
Michael Borgwardt

5
@dex: ... ve bu güne kadar hala güçlü oluyorlar, kullanıcının tuhaf isteklerini tarih kitaplarında övgüye değer bir titizlikle çözüyorlardı. Ancak, her şey gibi, bir gün daha modern zamanlara uygun daha modern yaklaşımlara zarafetle yol göstererek, eskime emekli olma zamanı gelecektir. Ancak, mirasımızda, bilerek bir gülümsemeyle izlemek ve gelecek nesillere, bu canlı internet iletişiminin bu canlı zamanlarında öğrendikleri tüm zor dersleri geçirmek için her zaman orada olacaklarından emin olun.
Ilari Kajaste

3
Naysayers için Yaşasın, @wahnfrieden? Oldukça doğru ve bilgilendirici olduğunu düşünüyorum.
Jürgen A. Erhard


18
  • Tarayıcı yazdıklarınızı (URL) bir ana bilgisayar adına ve bir yola böler.
  • Tarayıcı, verilen ana bilgisayar adı ve yoldaki verileri istemek için bir HTTP isteği oluşturur.
  • Tarayıcı, ana bilgisayar adını bir IP adresine çözmek için DNS araması yapar.
  • Tarayıcı, IP adresi ile belirtilen bilgisayara bir TCP / IP bağlantısı oluşturur. (Bu bağlantı aslında her biri verileri diğerine ileten birçok bilgisayardan oluşur.)
  • Tarayıcı HTTP isteğini verilen IP adresine bağlantıya gönderir.
  • Bu bilgisayar, TCP / IP bağlantısından HTTP isteğini alır ve web sunucusu programına iletir.
  • Web sunucusu ana bilgisayar adını ve yolunu okur ve istediğiniz verileri bulur veya oluşturur.
  • Web sunucusu bu verileri içeren bir HTTP yanıtı oluşturur.
  • Web sunucusu bu HTTP yanıtını makinenize gelen TCP / IP bağlantısını geri gönderir.
  • Tarayıcı HTTP yanıtını alır ve bunu başlıklara (verileri açıklar) ve gövdeye (verilerin kendisi) ayırır.
  • Tarayıcı, tarayıcıda nasıl görüntüleneceğine karar vermek için verileri yorumlar - genellikle bu bilgi türlerini ve genel formlarını belirten HTML verisidir.
  • Verilerin bir kısmı, ayrıntılı düzen için stil sayfaları veya satır içi görüntüler veya Flash filmler gibi yüklenmesi gereken başka kaynakları belirten meta veriler olacaktır. Bu meta veriler bir URL olarak tekrar belirtilir ve bu işlemin tümü tümü yükleninceye kadar her biri için tekrarlanır.

Bu iyidir, ancak önbelleğe alma (tarayıcıda ve başka yerlerde), proxy'ler, yük dengeleme, CDN'ler ve benzerlerinden bahsetmeye değer olabilir. Bunların hepsinin (yeryüzünde) yoğun sitelerin, büyük miktarlarda içerik için neredeyse aynı anda milyonlarca talebi nasıl karşıladığını anlamanın çok önemli bir parçası olduğunu düşünüyorum.
Sam Dutton

12

İlk adım, DNS (Etki Alanı Adı Sunucusu) aramasıdır. En üst etki alanını (cnn.com) aramak için ağ ayarlarınızda (veya size DHCP tarafından verilen) belirtilen DNS sunucularını kullanır ve daha sonra belirtilen alt etki alanının IP adresini sorar.

IP adresine sahip olduktan sonra, tarayıcınız web sunucusuyla iletişime başlar. Bu, belirtilen protokol (genellikle varsayılan olarak HTTP 1.1) kullanılarak yapılır. HTML belgesi içeriğine ve uygun başlıklara yanıt veren (belgenin içerik türünü, HTML'sini ve diğer bilgilerini tarayıcıya söyleyen) sunucuya '/' için bir 'GET' isteği yapılır. Ardından tarayıcı dokümanı ayrıştırır ve sayfaya yerleştirmesi gereken URL'leri bulur (görüntüler veya bağlantılı stil sayfaları gibi) ve her birinin GET isteklerini yapar.

Tarayıcı ayrıca genellikle '/favicon.ico' için bir GET isteği yapar (site başlığının yanındaki küçük CNN simgesini görüntülemek için).

Tarayıcınız, istek başlıklarında, gzip algoritmasını kullanarak yanıt içeriğinin sıkıştırılmasını istediğini de belirtecektir. Sunucu destekliyorsa, dosya indirme işlemini çok daha küçük hale getirir. ZIP dosyası indirmek ve sıkıştırmasını açmak gibi olsa bile, bu tamamen size şeffaf.

Sayfayı yeniden yüklediğinizde, tarayıcınız o sayfanın sisteminizde zaten önbelleğe alınmış olup olmadığını kontrol eder ve eğer öyleyse, belgenin yalnızca üstbilgisi için bir HTTP isteği yapar ve değiştirildiği tarihi kontrol eder. Bu tarih, önbelleğe alınmış kopyasından sonraysa, tüm belge içeriğini tekrar ister ve sayfayı yeniler. Aksi takdirde, sadece yerel kopyanızı kullanır.


Adam temelleri bilmiyor ve siz onu DNS, DHCP ve IP ile patlattınız. IP paket yapısını ona açıklayalım!

6
Teknik detaylar istedi. İsterse IP'ye bakabilir.

Mesele şu ki, hiçbir şey aramak istemiyor ... :(

8

Diğer cevaplardan şimdiye dek kaçırılan CNN tarafında olanlar:

  • CNN'deki bir makine bilgisayarınızdan sayfayı isteyen mesajı alıyor.
  • Bu isteği, CNN'nin web sitesi için kullandığı bilgisayarlardan birine yönlendirir (bunun nedeni, yanıt web sayfalarını birçok bilgisayar üzerinde bir araya getirme çalışmalarını yaymanızdır)
  • CNN bilgisayarı isteğinizi alır ve neredeyse tamamen önceden hesaplanmış bir web sayfasıyla yanıt verir, ancak belki de size göndermeden önce birkaç şeyi değiştirir (en üstte, belki başlık haberlerinde olabilir). Bazen bilgisayarlar, her istek aldıklarında sayfayı çok sayıda küçük bileşenden birleştirir; CNN’in ne yaptığını bilmiyorum
  • Yanıt, ağ üzerinden bilgisayarınıza doğru ilerler ve ardından onu görüntüler.
  • Yanıt görüntüleri içermiyordu: bilgisayarınız görüntüler için başka bir istek gönderir ve hemen hemen aynı senaryo gerçekleşir.

6

Bu açıkçası teknik bir açıklama değil, ancak bazılarına yardımcı olabilecek sevimli bir görsel yardım (mükemmel Vladstudio.com'dan ):

İnternet Nasıl Çalışır?


1

Az önce sorduğun bilgiler birkaç düzine kitabı doldurabilir. Ancak bunu açıklamaya çalıştığım girişim: Tarayıcınız işletim sisteminize cnn.com sitesinin IP adresini bulmasını söyler. Ardından işletim sisteminiz cnn.com için IP adresi için bir DNS sunucusu sorar. IP, IP adresiyle iletişim kuran ve sayfayı isteyen broswer'a gönderilir. cnn.com daha sonra size ve html sayfasını gönderir. Tarayıcılar html'yi ayrıştırır ve bilgiyi HTML oluşturucuya gönderir. Tarayıcı daha sonra OS'ye ekranda ne gösterileceğini söyler.



1

"Sendung mit der Maus" (çocuklar için teknolojiyi açıklayan çok popüler bir Alman çocuk TV şovu) tarafından hazırlanan harika bir video var:

Die ma Maus - Wie funktioniert das Internet ( İnternet nasıl çalışır).

Sadece Almanca olarak, maalesef, yazı metni bile komik. Komik kasklı erkekler IP paketlerini çalıyor ve veriler kağıt kartlarına yazıyor. Klasik :-)

Btw, açıklamalar aslında oldukça iyi.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.