Web sunucusu - Web server - Wikipedia

Birin içi ve önü Dell PowerEdge sunucu, bir bilgisayara monte edilmek üzere tasarlanmış bir bilgisayar raf montajı çevre.

Bir Web sunucusu dır-dir sunucu yazılımı veya donanım tatmin edebilecek bu yazılımı çalıştırmaya adanmış müşteri üzerinde talepler Dünya çapında Ağ. Bir web sunucusu genel olarak bir veya daha fazla web siteleri. Bir web sunucusu gelenleri işler fazla istek HTTP ve diğer birkaç ilgili protokoller.

Bir web sunucusunun birincil işlevi, depolamak, işlemek ve sunmaktır. internet sayfaları müşterilere.[1] İstemci ile sunucu arasındaki iletişim, Köprü Metni Aktarım Protokolü (HTTP). En sık teslim edilen sayfalar HTML belgeleri şunları içerebilir Görüntüler, stil sayfaları ve Kodlar metin içeriğine ek olarak.

Yüksek trafikli bir web sitesi için birden fazla web sunucusu kullanılabilir; İşte, Dell sunucular birlikte kurulur ve Wikimedia Vakfı.

Bir kullanıcı aracısı, genellikle bir internet tarayıcısı veya web tarayıcısı, HTTP kullanarak belirli bir kaynak için bir istekte bulunarak iletişimi başlatır ve sunucu, bu kaynağın içeriği veya bir hata mesajı bunu yapamazsa. Kaynak tipik olarak sunucunun üzerindeki gerçek bir dosyadır. ikincil depolama, ancak bu zorunlu değildir ve web sunucusunun nasıl olduğuna bağlıdır. uygulandı.

Ana işlev içerik sunmak olsa da, HTTP'nin tam uygulaması, istemcilerden içerik alma yollarını da içerir. Bu özellik göndermek için kullanılır web formları, dahil olmak üzere yükleme dosya sayısı.

Birçok genel web sunucusu da destekler sunucu tarafı komut dosyası kullanma Aktif Sunucu Sayfaları (ASP), PHP (Hypertext Preprocessor) veya diğer komut dosyası dilleri. Bu, gerçek sunucu yazılımı değişmeden kalırken web sunucusunun davranışının ayrı dosyalar halinde yazılabileceği anlamına gelir. Bu işlev genellikle HTML belgeleri oluşturmak için kullanılır dinamik olarak ("anında") geri dönmenin aksine statik belgeler. İlki, esasen bilgi almak veya değiştirmek için kullanılır. veritabanları. İkincisi genellikle çok daha hızlı ve daha kolaydır önbelleğe alınmış ama teslim edemez dinamik içerik.

Web sunucuları sıklıkla bulunabilir gömülü gibi cihazlarda yazıcılar, yönlendiriciler, web kamerası ve sadece bir yerel ağ. Web sunucusu daha sonra söz konusu cihazı izlemek veya yönetmek için bir sistemin bir parçası olarak kullanılabilir. Bu genellikle, yalnızca bir web tarayıcısı gerektiğinden istemci bilgisayara ek bir yazılım yüklenmesi gerekmediği anlamına gelir (artık çoğu işletim sistemleri ).

Tarih

Dünyanın ilk web sunucusu, bir NeXT Bilgisayar Ethernet'li iş istasyonu, 1990. Kutu etiketinde şöyle yazmaktadır: "Bu makine bir sunucudur. BT'Yİ KAPATMAYIN !!"
Güneşin Kobalt Qube 3 - bir bilgisayar sunucu cihazı (2002, üretilmiyor)

Mart 1989'da Sör Tim Berners-Lee işverenine yeni bir proje önerdi CERN, bilim adamları arasında bilgi alışverişini kolaylaştırmak amacıyla köprü metni sistemi.[2][3] Proje, Berners-Lee'nin 1990'da iki program yazmasıyla sonuçlandı:

1991 ve 1994 arasında, World Wide Web üzerinden veri alışverişi yapmak için kullanılan erken teknolojilerin basitliği ve etkinliği, onları birçok farklı işletim sistemine taşımaya ve kullanımlarını bilimsel kuruluşlar ve üniversiteler arasında ve ardından endüstriye yaymaya yardımcı oldu.

1994 yılında Berners-Lee, World Wide Web Konsorsiyumu (W3C) dahil olan birçok teknolojinin daha da geliştirilmesini düzenlemek için (HTTP, HTML, vb.) bir standardizasyon süreci aracılığıyla.

Yol çevirisi

Web sunucuları, bir dosyanın yol bileşenini eşleyebilir. Tekdüzen Kaynak Bulucu (URL) şuraya:

  • Yerel dosya sistemi kaynak (statik istekler için)
  • Dahili veya harici bir program adı (dinamik istekler için)

Bir statik istek istemci tarafından belirtilen URL yolu, web sunucusunun kök dizinine göredir.

Aşağıdaki URL'yi bir istemci tarafından HTTP üzerinden isteneceği şekilde düşünün:

http://www.example.com/path/file.html

Müşteriler kullanıcı aracısı bunu bir bağlantıya çevirecek www.example.com Takip ederek HTTP / 2 istek:

GET /path/file.html HTTP / 2Host: www.example.com

Web sunucusu açık www.example.com verilen yolu, kök dizininin yoluna ekler. Bir Apache sunucusu bu genellikle / ev / www (açık Unix makineler, genellikle / var / www). Sonuç, yerel dosya sistemi kaynağıdır:

/home/www/path/file.html

Web sunucusu daha sonra dosya, varsa ve müşterinin web tarayıcısına bir yanıt gönderir. Yanıt, dosyanın içeriğini tanımlayacak ve dosyanın kendisini içerecek veya dosyanın mevcut olmadığını veya kullanılamadığını belirten bir hata mesajı dönecektir.

Çekirdek modu ve kullanıcı modu web sunucuları

Bir web sunucusu, işletim sistemi çekirdek veya içinde Kullanıcı alanı (diğer normal uygulamalar gibi).

İçinde çalışan web sunucuları Kullanıcı modu daha fazla bellek veya daha fazla CPU kaynağı kullanmak için sistemden izin istemeniz gerekir. Çekirdeğe gönderilen bu istekler sadece zaman almakla kalmaz, aynı zamanda sistem kaynakları kendi kullanımı için ayırdığından ve donanım kaynaklarını diğer çalışan uygulamalarla paylaşma sorumluluğuna sahip olduğundan her zaman tatmin olmazlar. Kullanıcı modunda yürütme, kullanıcı modu web sunucuları için başka bir sınırlama olan gereksiz tampon kopyalar anlamına da gelebilir.

Yükleme sınırları

Bir web sunucusu (program), yalnızca sınırlı sayıda eşzamanlı istemci bağlantısını (genellikle 2 ile 80.000 arasında, varsayılan olarak 500 ile 1.000 arasında) işleyebildiğinden tanımlı yük sınırlarına sahiptir IP adresi (ve TCP bağlantı noktası) ve yalnızca belirli bir maksimum sayıda saniye başına istek (RPS olarak da bilinir saniyedeki sorgu veya QPS) aşağıdakilere bağlı olarak:

Bir web sunucusu sınırına yaklaştığında veya sınırını aştığında, yanıt vermez hale gelir.

Aşırı yüklenmenin nedenleri

Herhangi bir zamanda web sunucuları şu nedenlerle aşırı yüklenebilir:

  • Aşırı meşru web trafiği. Kısa bir aralıkta web sitesine bağlanan binlerce hatta milyonlarca müşteri, örn. Slashdot etkisi;
  • Dağıtılmış Hizmet Reddi saldırılar. Hizmet reddi saldırısı (DoS saldırısı) veya dağıtılmış hizmet reddi saldırısı (DDoS saldırısı), bir bilgisayarı veya ağ kaynağını amaçlanan kullanıcıları için erişilemez hale getirme girişimidir;
  • Bilgisayar solucanları milyonlarca virüs bulaşmış bilgisayar nedeniyle bazen anormal trafiğe neden olan (aralarında koordine edilmeyen)
  • XSS solucanları milyonlarca virüslü tarayıcı veya web sunucusu nedeniyle yüksek trafiğe neden olabilir;
  • İnternet botları Çok az kaynağa (bant genişliği vb.) Sahip büyük web sitelerinde trafik filtrelenmez / sınırlandırılmaz;
  • İnternet (ağ) yavaşlar, böylece istemci isteklerine daha yavaş hizmet verilir ve bağlantı sayısı o kadar artar ki sunucu sınırlarına ulaşılır;
  • Web sunucuları (bilgisayarlar ) kısmi kullanılamama. Bu, gerekli veya acil bakım veya yükseltme, donanım veya yazılım arızaları nedeniyle olabilir, arka uç (Örneğin., veri tabanı ) arızalar vb .; bu durumlarda kalan web sunucuları çok fazla trafik alır ve aşırı yüklenir.

Aşırı yüklenme belirtileri

Aşırı yüklenmiş bir web sunucusunun belirtileri şunlardır:

  • İstekler (muhtemelen uzun) gecikmelerle (1 saniyeden birkaç yüz saniyeye kadar) sunulur.
  • Web sunucusu bir HTTP hata kodu 500, 502 gibi,[5] 503,[6] 504,[7] 408 veya hatta 404, aşırı yük durumu için uygun değildir.[8]
  • Web sunucusu reddeder veya sıfırlar (kesintiye uğrar) TCP herhangi bir içerik döndürmeden önce bağlantılar.
  • Çok nadir durumlarda, web sunucusu istenen içeriğin yalnızca bir bölümünü döndürür. Bu davranış bir böcek, genellikle bir aşırı yük belirtisi olarak ortaya çıksa bile.

Aşırı yükleme önleyici teknikler

Ortalamanın üzerindeki yük sınırlarının kısmen üstesinden gelmek ve aşırı yüklenmeyi önlemek için çoğu popüler web sitesi aşağıdaki gibi yaygın teknikleri kullanır:

  • Aşağıdakileri kullanarak ağ trafiğini yönetme:
  • Dağıtma web önbelleği teknikler
  • Farklı kullanarak alan isimleri veya ayrı web sunucuları tarafından farklı (statik ve dinamik) içerik sunmak için IP adresleri, örneğin:
    • http://images.example.com
    • http://example.com
  • Büyük dosyaları küçük ve orta boyutlu dosyalardan ayırmak için farklı alan adları veya bilgisayarlar kullanma; fikir tam olarak yapabilmektir önbellek küçük ve orta boyutlu dosyalar ve farklı ayarlar kullanarak büyük veya büyük (10 - 1000 MB'nin üzerinde) dosyaları verimli bir şekilde sunmak için
  • Bilgisayar başına, her biri kendine bağlı birçok internet sunucusu (programı) kullanmak ağ kartı ve IP adresi
  • Arka planda gruplanmış birçok internet sunucusunu (bilgisayar) kullanma yük dengeleyici böylece büyük bir web sunucusu gibi davranırlar veya
  • Daha fazla donanım kaynağı eklemek (ör. Veri deposu, diskler ) her bilgisayara
  • Donanım yetenekleri ve kullanımı için işletim sistemi parametrelerini ayarlama
  • Daha verimli kullanmak bilgisayar programları web sunucuları vb. için
  • Diğerlerini kullanma geçici çözümler özellikle dinamik içerik söz konusuysa

Pazar payı

LAMP (yazılım paketi) (burada ayrıca Kalamar ), tamamen ücretsiz ve açık kaynaklı yazılım, düşmanca bir ortam için yüksek performanslı ve yüksek kullanılabilirliğe sahip bir ağır hizmet çözümüdür
Grafik:
Tüm sitelerin pazar payı 2005–2018 büyük web sunucularının

Şubat 2019

Aşağıda en son istatistikler bulunmaktadır tüm sitelerin pazar payı W3Techs tarafından İnternet'teki en iyi web sunucuları arasındaWeb Siteleri için Web Sunucularının Kullanımı.

ÜrünSATICIYüzde
ApaçiApaçi44.3%
nginxNGINX, Inc.41.0%
IISMicrosoft8.9%
LiteSpeed ​​Web SunucusuLiteSpeed ​​Teknolojileri3.9%
GWSGoogle0.9%

Diğer tüm web sunucuları, web sitelerinin% 1'inden azı tarafından kullanılmaktadır.

Temmuz 2018

Aşağıda en son istatistikler bulunmaktadır tüm sitelerin pazar payı W3Techs tarafından İnternet'teki en iyi web sunucuları arasındaWeb Siteleri için Web Sunucularının Kullanımı.

ÜrünSATICIYüzde
ApaçiApaçi45.9%
nginxNGINX, Inc.39.0%
IISMicrosoft9.5%
LiteSpeed ​​Web SunucusuLiteSpeed ​​Teknolojileri3.4%
GWSGoogle1.0%

Diğer tüm web sunucuları, web sitelerinin% 1'inden azı tarafından kullanılmaktadır.

Şubat 2017

Aşağıda en son istatistikler tüm sitelerin pazar payı tarafından İnternet'teki en iyi web sunucularından NetcraftŞubat 2017 Web Sunucusu Anketi.

ÜrünSATICIOcak 2017YüzdeŞubat 2017YüzdeDeğişiklikGrafik rengi
IISMicrosoft821,905,28345.66%773,552,45443.16%−2.50kırmızı
ApaçiApaçi387,211,50321.51%374,297,08020.89%−0.63siyah
nginxNGINX, Inc.317,398,31717.63%348,025,78819.42%1.79yeşil
GWSGoogle17,933,7621.00%18,438,7021.03%0.03mavi

2016 Şubat

Aşağıda en son istatistikler bulunmaktadır tüm sitelerin pazar payı tarafından İnternet'teki en iyi web sunucularından NetcraftŞubat 2016 Web Sunucusu Anketi.

ÜrünSATICIOcak 2016Yüzde2016 ŞubatYüzdeDeğişiklikGrafik rengi
ApaçiApaçi304,271,06133.56%306,292,55732.80%0.76siyah
IISMicrosoft262,471,88628.95%278,593,04129.83%0.88kırmızı
nginxNGINX, Inc.141,443,63015.60%137,459,39116.61%−0.88yeşil
GWSGoogle20,799,0872.29%20,640,0582.21%−0.08mavi

Apache, IIS ve Nginx, World Wide Web'de en çok kullanılan web sunucularıdır.[9][10]

Ayrıca bakınız

Referanslar

  1. ^ Patrick, Killelea (2002). Web performans ayarı (2. baskı). Pekin: O'Reilly. s. 264. ISBN  059600172X. OCLC  49502686.
  2. ^ Zolfagharifard, Ellie (24 Kasım 2018). "'Web'in babası 'Sör Tim Berners-Lee sahte haberlerle mücadele planını anlatıyor ". Telgraf. ISSN  0307-1235. Alındı 1 Şubat 2019.
  3. ^ "Bilgisayarların ve Hesaplamanın Tarihi, İnternet, Doğum, Tim Berners-Lee'nin World Wide Web". history-computer.com. Alındı 1 Şubat 2019.
  4. ^ Macaulay, Tom. "En iyi açık kaynaklı web sunucuları nelerdir?". Bilgisayar dünyası. Alındı 1 Şubat 2019.
  5. ^ Fisher, Tim; Lifewire. "502 Bozuk Ağ Geçidi Hatası Alınıyor mu? Yapılması Gerekenler". Cankurtaran. Alındı 1 Şubat 2019.
  6. ^ Fisher, Tim; Lifewire. "Bir 503 Hizmeti Kullanılamıyor Hatası Alınıyor mu? İşte Yapılması Gerekenler". Cankurtaran. Alındı 1 Şubat 2019.
  7. ^ "502 bozuk ağ geçidi nedir ve bunu nasıl düzeltirsiniz?". IT PRO. Alındı 1 Şubat 2019.
  8. ^ Dijital adli tıp ve soruşturma el kitabı. Casey, Eoghan., Altheide, Cory. Burlington, Mass .: Academic Press. 2010. s. 451. ISBN  9780080921471. OCLC  649907705.CS1 Maint: diğerleri (bağlantı)
  9. ^ Vaughan-Nichols, Steven J. "Apache ve IIS'nin Web sunucusu rakibi NGINX hızla büyüyor". ZDNet. Alındı 1 Şubat 2019.
  10. ^ Hadi Nahari (2011). Web ticareti güvenliği: tasarım ve geliştirme. Krutz, Ronald L. Indianapolis: Wiley Pub. ISBN  9781118098899. OCLC  757394142.

Dış bağlantılar