Apache HTTP Sunucusu Sürüm 2.4

Bu belgede Apache HTTP Sunucusunun 2.0 ve 2.2 sürümleri arasındaki başlıca farklara değinilmiştir. 1.3 sürümüne göre yeni özellikler için Apache 2.0’da Yeni olan Özellikler belgesine bakınız.
mod_authn_alias modülü
(2.3/2.4 sürümlerinde kaldırılmıştır) belli kimlik doğrulama
yapılandırmalarını büyük oranda basitleştirebilir. Bu değişikliklerin
kullanıcıları ve modül yazarlarını nasıl etkilediğini öğrenmek için
modül değişikliklerine ve geliştirici değişikliklerine bakabilirsiniz.mod_cache, mod_cache_disk ve
mod_mem_cache (2.3/2.4 sürümlerinde kaldırılmıştır)
modüllerinde büyük oranda değişikliğe gidilerek bunlar deneysel
olmaktan çıkarılıp üretim amaçlı modüller haline getirildiler.
mod_cache_disk tarafından kullanılan disk
alanının htcacheclean tarafından
düzenli aralıklarla temizlenebilmesi sağlandı.prefork, worker ve
event MPM’leri artık httpd’yi graceful-stop
sinyali sayesinde nazikçe durdurabilmektedir.
httpd programının sonlandırılmasındaki gecikmelere
karşı bir önlem olarak, isteğe bağlı bir zaman aşımı belirtmeyi
mümkün kılan GracefulShutdownTimeout yönergesi
sayesinde sunum sürüyor olsa bile httpd
sonlandırılabilmektedir.mod_proxy_balancer modülü ile
mod_proxy için yük dengeleme hizmetleri sağlanmış,
yeni mod_proxy_ajp modülü ile Apache Tomcat tarafından
kullanılan Apache JServ Protokolünün 1.3 sürümü için destek
eklenmiştir.configure betiğinin --with-pcre
seçeneği sayesinde httpd programı PCRE destekli
olarak derlenebilmektedir.mod_filter çıktı süzgeç zincirinin devingen olarak
yapılandırılmasını sağlar. Süzgeçlerin herhangi bir istek veya yanıt
başlığına veya bir ortam değişkenine dayanarak koşullu olarak
yerleştirilmesini mümkün kılar ve bunu yaparken 2.0 mimarisindeki
sorunlu bağımlılıklar ve sıralama sorunlarının da üstesinden
gelir.httpd artık günümüzün 32 bitlik Unix
sistemlerinde bulunan 2 GB’lık büyük dosyaları destekleyecek tarzda
derlenebilmektedir. 2 GB’lık istek gövdelerine destek de ayrıca
eklenmiştir.event MPM modülü sürekli bağlantı isteklerinin
işlenmesi ve bağlantıların kabul edilmesi için ayrı bir evre
kullanır. Sürekli bağlantı (keepalive) isteklerinin işlenmesi
geleneksel olarak httpd’nin buna bir worker
adamasını gerektirirdi. Bu adanmış worker bağlantı
zaman aşımına uğrayıncaya değin tekrar kullanılamazdı.mod_dbd modülü apr_dbd arayüzü ile
birlikte, ihtiyacı olan modüllere SQL desteği sağlar. Evreli MPM’ler
için bağlantı havuzlamasını destekler.mod_auth
modülü şimdi mod_auth_basic ve
mod_authn_file diye iki modüle bölünmüştür.;
mod_auth_dbm modülünün ismi
mod_authn_dbm ve mod_access modülünün
ismi de mod_authz_host olarak değiştirilmiştir.
Ayrıca, belli kimlik doğrulama yapılandırmalarını basitleştirmek
üzere mod_authn_alias diye yeni bir modül vardır
(2.3/2.4 sürümlerinde kaldırılmıştır).
mod_authnz_ldapmod_auth_ldap modülünün 2.2
Authn/Authz arayüzüne bir uyarlamasıdır. Require yönergesine LDAP
öznitelik değerlerinin ve karmaşık arama süzgeçlerinin kullanımı gibi
yeni özellikler eklenmiştir.mod_authz_ownermod_versionmod_info?config parametresini
ekler. Modül ayrıca, httpd -V’nin yaptığı gibi ek olarak
derleme bilgisini ve tüm istek kancalarının sırasını da gösterir.mod_sslmod_imagemapmod_imap modülünün ismi yanlış anlamalara meydan
vermemek için mod_imagemap olarak değiştirildi.httpd-M diye yeni bir komut satırı seçeneği eklendi.
-l seçeneğinin aksine, bu seçenekle elde edilen liste
mod_so üzerinden yüklenen DSO’ları içerir.httxt2dbmRewriteMap yönergesinde
dbm eşlem türü ile kullanmak üzere metin girdilerden DBM
dosyaları üretmek için kullanılan yeni bir program.APR ve
APR-Util’den kaldırılmıştır. Ayrıntılar için APR Sitesine bakınız.mod_auth_* -> HTTP kimlik doğrulamasını
gerçekleştiren modüller.mod_authn_* -> Kimlik doğrulamasının artalanına
destek sağlayan modüller.mod_authz_* -> Yetkilendirmeyi (veya erişimi)
gerçekleştiren modüller.mod_authnz_* -> Kimlik doğrulama ve
yetkilendirmeyi birlikte gerçekleştiren modüller.ap_log_cerror isminde yeni bir işlev eklendi. Böyle bir
durumda günlük kaydı istemcinin IP adresini içermektedir.httpd’yi sadece -t
seçeneği ile kullandığı takdirde özel kod icra edilmesini isteyen
modüllere yardımcı olmak üzere test_config diye yeni bir
kanca işlev eklendi.ThreadStackSize isminde yeni bir
yönerge eklendi. Öntanımlı yığıt boyutunun küçük olduğu platformlarda
bazı üçüncü parti modüller tarafından buna ihtiyaç duyulmaktadır.ap_register_output_filter_protocol veya
ap_filter_protocol işlevi üzerinden
mod_filter modülüne devredebilmektedir.pcreposix.h başlık dosyası artık yok; yerine
ap_regex.h dosyası geçti. Eski başlık dosyasınca ifade
olunan POSIX.2 regex.h gerçeklenimi şimdi
ap_ isim alanı altında ap_regex.h başlık
dosyasındadır. regcomp, regexec gibi
işlevlerin yerine de artık ap_regcomp,
ap_regexec işlevleri geçerlidir.Apache 1.x ve 2.0’da, modüller, SQL veritabanlarını kendileri yönetebilmek için sorumluluğu alacak bir SQL artalanına ihtiyaç duymaktadır. Her biri kendi bağlantısına sahip bir sürü modül olduğunda bu yöntem çok verimsiz olabilmektedir.
Apache 2.1 ve sonrasında veritabanı bağlantılarını (evreli olsun
olmasın MPM’lerin eniyilenmiş stratejileri dahil) yönetmek için
ap_dbd arayüzü kullanılmıştır. APR 1.2 ve sonrasında ise
veritabanı ile etkileşim apr_dbd arayüzüyle
sağlanmıştır.
Yeni modüllerin tüm SQL veritabanı işlemlerinde bu arayüzü kullanmaları ÖNERİlir. Mevcut uygulamaların uygulanabildiği takdirde hem kullanıcılarına önerilen bir seçenek olarak hem de şeffaf olarak kullanmak üzere kendilerini güncellemeleri ÖNERİir.