Apache HTTP Sunucusu
Tarafından geliştirildi | Apache Yazılım Vakfı |
---|---|
İlk versiyon | 1995 |
Son sürüm | 2.4.46 (5 Ağustos 2020) |
Gelişmiş sürüm | 2.5.0-alfa (Kasım 8, 2017) |
Depozito | svn.apache.org/repos/asf/httpd/httpd |
Yazılmış | VS |
İşletim sistemi | Çoklu platform |
Diller | ingilizce |
Tür | Web sunucusu |
Lisans | Apache lisans sürümü 2.0 |
İnternet sitesi | httpd.apache.org |
Özgür yazılım Apache HTTP Sunucusu ( Apache ) bir olan HTTP sunucusu içinde oluşturulan ve sürdürülen Apache Vakfı . Nisan 2019'a kadar, World Wide Web'deki en popüler HTTP sunucusuydu . Apache lisansının koşulları altında dağıtılır .
Apaçi ortaya çıktı Nisan 1995. Başlangıçta bu, genel etki alanında olan ve o zamanlar en popüler HTTP sunucusu olan NCSA HTTPd 1.2 sunucusuna yapılan bir dizi düzeltme ve eklemeydi . Bu kökenden, birçok kişi Apache adının düzensiz bir sunucudan veya " düzensiz bir sunucudan " geldiğini iddia ediyor . Daha sonra Apache tamamen yeniden yazıldı, bu nedenle sürüm 2'de NCSA HTTPd izi kalmadı.
Başlangıçta, Apache için sadece ciddi ve ücretsiz bir alternatif oldu HTTP sunucusu arasında Netscape ( iPlanet şimdi, Güneş ONE ). Dan beriNisan 1996Netcraft'ın devam eden çalışmasına göre Apache, İnternet'teki en popüler HTTP sunucusu haline geldi .
Apache pazar payı:
Apache sürüm 2, birden çok platform için destek ( Windows , Linux ve UNIX , diğerleri arasında), UNIX hafif süreçler için destek , yeni bir API ve IPv6 desteği dahil olmak üzere, sürüm 1'e göre birkaç önemli ilerlemeye sahiptir .
Apache Foundation ( Apache Software Foundation veya ASF ), 1999 yılında sunucuyu 1995 yılında oluşturan Apache grubundan ( Apache Group ) oluşturulmuştur . O zamandan beri, World Wide Web için yararlı olan birçok başka yazılım HTTP sunucusunun yanında geliştirildi.
Apache, esas olarak UNIX ( Linux , Mac OS X , Solaris , BSD ve UNIX ) ve Windows işletim sistemlerinde çalışır . Windows sürümü yalnızca Apache sürüm 1.2'den beri kararlı kabul edilir. Apache dahil olmak üzere birçok ürünü tarafından kullanılan WebSphere'e gelen IBM yanı sıra , Oracle Corporation .
Apache, ek işlevsellik sağlayan birçok modülü destekleyecek şekilde tasarlanmıştır: Perl , PHP , Python ve Ruby'nin yorumlanması , proxy sunucusu , Ortak Ağ Geçidi Arayüzü , Sunucu Tarafı Kodları , URL yeniden yazma , içerik pazarlığı, ek iletişim protokolleri vb. Ancak, birçok Apache modülünün varlığının web sunucusunun konfigürasyonunu karmaşıklaştırdığı unutulmamalıdır. Aslında, en iyi uygulamalar yalnızca yararlı modülleri yüklemenizi önerir: yalnızca Apache modüllerini etkileyen birçok güvenlik açığı düzenli olarak keşfedilir.
Apache'nin yapılandırma olanakları bir amiral gemisi özelliğidir. İlke, bağımsız olarak yönetilebilen bir yapılandırma dosyaları hiyerarşisine dayanmaktadır. Bu özellik, tek bir HTTP sunucusu kullanarak birkaç müşterinin sitelerine hizmet verebilen ana bilgisayarlar için özellikle yararlıdır . Müşteriler için bu işlevsellik .htaccess dosyası tarafından görünür hale getirilir .
Apache'nin bakımına yardımcı olan araçlar arasında, günlük dosyaları birçok komut dosyası ve AWStats , Webalizer veya W3Perl gibi ücretsiz yazılımlar kullanılarak analiz edilebilir . Çeşitli grafik arayüzler, sunucunun konfigürasyonunu kolaylaştırır.
Bu iki ana çalışma modu, HTTP sunucusunun performansını önemli ölçüde değiştirir.
Tarihsel olarak, Apache prefork'ta çalışır; bu, genişletilmiş haklarla ( kök ) başlatılan bir üst sürecin , her biri belirli sayıda istemci isteğini işleyecek olan çocuk süreçleri başlattığı anlamına gelir . Bununla birlikte, Linux altında, süreçlerin çoğalması kaynak tüketiminde bir artışa neden olur (bellek, dosya tanımlayıcıları).
In işçi modunda Apache başlar konuları gelen istekleri işleyecektir. Aradaki fark, bunun, ana sürecin kaynakları iş parçacıkları için hazırladığı daha önleyici bir mod olmasıdır . Üçüncü taraflarca geliştirilen modüller veya bu modüller tarafından kullanılan kitaplıklar, çok iş parçacıklı bir ortamda çalışmak üzere tasarlanamaz; bu durumda, işçi modunda kullanılırlarsa bir arıza kaynağı olabilirler .
2.4 sürümünden bu yana, etkinlik modülü üretimde mevcuttur. Bu, çalışan modundan türetilmiştir, ancak iş parçacıkları yalnızca bir istemci bağlantısına hizmet etmekle kalmaz, aynı zamanda bağlantıdan bağımsız olarak birden çok görevi gerçekleştirebilir. Bu nedenle, KeepAlivebir iş parçacığı artık bağlantının bir başkasına hizmet etmek için sonlandırılmasını beklememesi anlamında daha iyi yönetilir. Daha açık bir ifadeyle, iş parçacığı bir bağlantı değil bir isteğe hizmet eder.
Modüller: prefork.c, worker.c, event.c
Mod_proxy aracılığıyla, diğerlerinin yanı sıra, Httpd Sunucusunu gerçek bir Proxy olarak kullanmak mümkündür .
En ilginç kullanımlardan biri, yüksek kullanılabilirlik bağlamında veya daha iyi performans elde etmek için yük dengelemedir . Reverse Proxying becerileri, sürüm 2.1'den üretime sorunsuz bir şekilde yayılmak için yeterince geliştirilmiştir.
Modüller: mod_proxy, mod_proxy_balancer, mod_proxy_http, mod_proxy_ajp, mod_proxy_connect