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.
Browser: "Tamam, öyleyse, bu adresi isteyen bir kullanıcım var: www.cnn.com. Herhangi bir eğik çizgi veya başka bir şey olmadığı için, ana sayfanın doğrudan bir talebi olduğunu düşünüyorum. ayrıca protokol veya bağlantı noktası tanımlanmadı, bu yüzden bunun HTTP olduğunu ve 80 numaralı bağlantı noktasına gideceğini varsayacağım ... ah, önce ilk şeyler. Hey DNS, dostum, uyan! Bu www.cnn.com nerede saklanıyor? "
DNS: "Doğru ... bir saniye bekle, ISS sunucularına soracağım. Tamam, 157.166.226.25 gibi görünüyor."
Browser: "Tamam. İnternet 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 başka ne yapacağımı biliyorum. getir ... ah iyi, sanırım bunu umursamazsın. "
TCP/IP: "Ne demek istiyorsun benim sıram ? DNS? Tanrım, burada biraz takdir almak için ne gerekiyor? ”
Tarayıcı: ...
TCP/IP: "Evet, evet ... Bağlanıyor ... Sadece ağ geçidini iletmesini isteyeceğim. Biliyorsun, bu kadar kolay değil, bölmek zorunda kalacağım. İsteğiniz birkaç parçaya hoş geldiniz, böylece sonuna ulaşırlar ve aldığım binlerce paketten geri gönderdikleri her şeyi toparlar ... ah, doğru, umrunda değil.
Bu arada, CNN karargahında bir mesaj sonunda Web Sunucusunun kapısında sona eriyor.
CNN Web Server: "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 bir kopyasını önbellekte saklıyorum, bir şey derlemeye gerek yok. Ama hey, bu kullanıcı kimliğini alın ve saklayın Bunu müşteriye de göndereceğim, bu yüzden kiminle konuştuğumuzu biliyoruz. "
CNN Veritabanı Sunucusu: "Evet!"
Kullanıcının bilgisayarına geri dön ...
TCP/IP: "Ooookay, işte cevap geliyor. Ah oğlum, neden bunun büyük bir şey olacağı hissine sahibim ..."
Browser: "Ah, vay ... bu her türlü javascript koduna sahip ... resim grubu, birkaç form ... Doğru, bu işlem biraz zaman alacak. Hey, IP sistemi, almanız gereken bir sürü şey var .. Bakalım i.cdn.turner.com adresinden birkaç stil sayfasına ihtiyacım var - HTTP üzerinden ve /cnn/.element/css/ dosyasını isteyin 2.0/common.css.Ve sonra da i.cdn.turner.com'da bu betiklerden bazılarını da alın, şimdiye dek altı tane sayıyorum ... "
TCP/IP: "Resmi yakaladım. Bana sadece sunucu adreslerini ve diğerlerini verin. Bu dosyayı HTTP isteğine sarın, onunla uğraşmak istemiyorum."
DNS: "i.cdn.turner.com adresini kontrol edin ... hey, önemsiz şeyler, aslında cdn.cnn.com.c.footprint.net olarak adlandırılır. IP, 4.23.41.126"
Browser: "Elbette, bir saniye bekle, bu işlemin bir kaç dakikasını alacak, bu komut dosyasını anlamaya çalışıyorum ..."
TCP/IP: "Hey, işte istediğiniz CSS. Oh, ve ... evet, bu ek komut dosyaları da geri döndü."
Browser: "Whew, dahası var ... bir tür video reklam!"
TCP/IP: "Ah evlat, kulağa ne eğlenceli geliyor ..."
Browser: "Her türlü resim de var! Ve bu CSS biraz kötü görünüyor ... doğru, eğer o kısım oraya giderse ve bu çizgiyi en üste çıkarsa ... nasıl olur da artık uygun ... hayır, bunu yapmak için biraz germek zorunda kalacağım ... Oh, ama diğer CSS dosyaları bu kuralı geçersiz kılar ... Peki, bu kolay bir parça olmayacak render, bu kesin! "
TCP/IP: "Tamam, tamam, bir saniye beni rahatsız etmeyi bırak, burada yapmam gereken çok şey var."
Browser: "Kullanıcı, işte sizin için küçük bir ilerleme raporu. Maalesef, bu işlem birkaç saniye sürebilir, yüklenecek 140 farklı öğe var ve şimdiye 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."
Browser: "Phew, evet, bugünlerde tüm bu web siteleri var, sizin için kolay olmadığından eminler. Eh, idare edeceğim. Bunun için buradayım."
TCP/IP: "Bugünlerde hepimiz için oldukça ağır galiba ... oh, orada DNS'i bırakmayı bırak!"
Browser: "Hey kullanıcı! Web sitesi hazır - haberi al!"
Web nasıl çalışır: HTTP ve CGI açıkladı
Ayrıca CERN'den harika bir açıklama - Web alma mater: Web nasıl çalışır?
İ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 otomatik olarak '/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. Bir Zip dosyası indirmek ve sıkıştırmasını açmak gibi olsa bile, bu işlem tamamen şeffaftır.
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 talep eder ve sayfayı yeniler. Aksi takdirde, sadece yerel kopyanızı kullanır.
Diğer cevaplardan şimdiye dek kaçırılan CNN tarafında olanlar:
Bu açıkçası teknik bir açıklama değil, ancak bazılarına yardımcı olabilecek sevimli bir görsel yardım (mükemmelden Vladstudio.com ):
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öylüyor. 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.
Jeff Moser , blogunda bir HTTPS isteğinin mükemmel bir teknik analizini yaptı: HTTPS Bağlantısının İlk Milisaniyesinde .
"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:
Internet’te Web’in nasıl işlediğini görebilirsiniz.
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.