17Aug

Web Sunucuları Sadece Bir Web Sitesini Bir Tutuyor mu?

Alan adlarının, IP adreslerinin, web sunucularının ve web sitelerinin nasıl bir araya geldiğini ve birlikte çalıştıklarını ilk kez başlattığınızda, bazen biraz kafa karıştırıcı ya da ezici olabilir. Nasıl bu kadar düzgün çalışacak şekilde kurulmuş?Bugünün Süper Kullanıcısı Q & A yayını, merak uyandırıcı bir okuyucunun sorularına cevaplar içeriyor.

Bugünkü Soru &Yanıt oturumu bize Q & A web sitelerinin topluluk temelli bir gruplandırması olan Stack Exchange'in bir alt bölümü olan SuperUser nezaketen geliyor.

Fotoğrafın yardımıyla Rosmarie Voegtli( Flickr).

Soru

SuperUser okuyucusu user3407319, web sunucularının her biri bir web sitesinin yalnızca bir birine sahip olup olmadığını bilmek istemektedir:

DNS hakkında ne anladığıma ve bir alan adının bir web sitesinin depolandığı web sunucusunun IP adresine bağlanmasına dayanarak, bunun anlamı nedir?web sunucusu yalnızca bir web sitesi tutabilir mi? Web sunucuları birden fazla web sitesine sahip olursa, o zaman nasıl çözüldüğümde herhangi bir sorun olmadan istediğiniz web sitesine erişebilir veya karışıklıkları çözebilirim?

Web sunucuları her biri sadece bir web sitesi barındırıyor mu, yoksa daha fazlasını mı tutuyor?

Cevap

SuperUser katılımcısı Bob bize cevap buluyor:

Temel olarak, tarayıcı, HTTP isteğinde alan adını içerdiğinden, web sunucusu hangi alan adının talep edildiğini biliyor ve buna göre cevap verebiliyor.

HTTP İstekleri

Tipik HTTP isteğiniz şu şekildedir:

1. Kullanıcı http: // host: port / path şeklinde bir URL sağlar.

2. Tarayıcı, URL'nin ana alan( etki alanı) bölümünü ayıklar ve ad çözümlemesi olarak bilinen bir işlemde bir IP adresine( gerekirse) çevirir. Bu çeviri DNS vasıtasıyla gerçekleşebilir, ancak gerekmez( örneğin, ortak işletim sistemlerinde yerel ana bilgisayar dosyaları, DNS'yi atlar).

3. Tarayıcı, belirtilen bağlantı noktasına TCP bağlantısı açar veya varsayılan olarak bu IP adresindeki 80 numaralı bağlantı noktasını kullanır.

4. Tarayıcı bir HTTP isteği gönderir. HTTP / 1.1 için şu şekildedir:

Ana makine başlığı standarttır ve HTTP / 1.1'de gereklidir. HTTP / 1.0 spesifikasyonunda belirtilmemiş, ancak bazı sunucular bunu yine de desteklemektedir.

Buradan, web sunucusu, yanıtın ne olması gerektiğine karar vermek için kullanabileceği birkaç bilgi parçasına sahiptir. Tek bir web sunucusunun birden fazla IP adresine bağlı olabileceğini unutmayın.

  • TCP soketinden istenen IP adresi( istemcinin IP adresi de mevcuttur, ancak bu nadiren kullanılır ve bazen engelleme / filtreleme için kullanılır)
  • İstenen bağlantı noktası, TCP soketinden
  • İstenen ana makine adı,HTTP isteğinde tarayıcı tarafından ana bilgisayar üstbilgisinde belirtilmiş
  • İstenen yol
  • Başka herhangi bir üstbilgi( çerezler, vs.)

Gördüğünüz gibi en yaygın paylaşılan barındırma kurulumu şu an birden fazla web sitesini tek bir IP adresine koymaktadır: port kombinasyonu, web sitelerini birbirinden ayırmak için sadece ev sahibi bırakılıyor.

Apache arazisinde Ad Tabanlı Sanal Ev Sahibi olarak bilinirken Nginx, Sunucu Bloklarında Sunucu İsimleri çağırır ve IIS, Virtual Server'ı tercih eder.

HTTPS Hakkında Neler Var?

HTTPS biraz farklı.Her şey TCP bağlantısının kurulumuna kadar aynıdır, ancak bundan sonra şifreli bir TLS tüneli oluşturulmalıdır. Amaç, talep hakkında herhangi bir bilgi sızdırmamaktır.

Web sunucusunun bu alanın gerçek sahibi olduğunu doğrulamak için, web sunucusu güvenilir bir üçüncü şahıs tarafından imzalanmış bir sertifika göndermelidir. Tarayıcı daha sonra bu sertifikayı istediği alanla karşılaştırır.

Bu bir sorun sunuyor. Web sunucusu, HTTP isteği alınmadan önce bunu yapması gerekiyorsa hangi ana bilgisayarın / web sitesinin sertifikasının gönderileceğini biliyor mu?

Geleneksel olarak, bu, HTTPS gerektiren her web sitesi için ayrılmış bir IP adresi( veya bağlantı noktası) olmasıyla çözüldü.Açıkçası, IPv4 adresleri bittiğinde bu sorunlu hale geldi.

SNI( Sunucu Adı Gösterimi) girin. Tarayıcı şimdi TLS müzakereleri sırasında ana bilgisayar adını iletir, bu nedenle web sunucusu bu bilgiyi doğru sertifikayı göndermek için yeterince erken bir zamana sahiptir. Web sunucusu tarafında yapılandırma, HTTP sanal konaklarının yapılandırılmasına çok benzer.

Kötü amaçlı ana bilgisayar adı şimdi şifreleme öncesi düz metin olarak iletilir ve aslında bilgi sızdırılır. Ana bilgisayar adı normalde bir DNS sorgusuna zaten maruz kalmış olsa da, genellikle kabul edilebilir bir ödül olarak kabul edilir.

Yalnızca IP Adresi ile Bir Web Sitesi İsterseniz Ne Olur?

Web sunucusu, hangi belirli ana bilgisayar istemediğinizi bilmediğinde, web sunucusunun uygulanması ve yapılandırmasına bağlıdır. Tipik olarak, açıkça bir ana makine belirlemeyen tüm isteklere yanıt verecek "varsayılan", "tümünü yakalamak" veya belirtilen "geri dönüş" web sitesi vardır.

Bu varsayılan web sitesi kendi bağımsız web sitesi olabilir( genellikle hata mesajı verir) veya web sunucusu yöneticisinin tercihlerine bağlı olarak web sunucusunda diğer web sitelerinin herhangi biri olabilir.

Açıklamaya eklemek için bir şey var mı?Yorumların sesini kapatın. Diğer teknik uzman Stack Exchange kullanıcılarından daha fazla cevap okumak ister misiniz? Buradaki tam tartışma dizinine göz atın.