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_ldap
mod_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_owner
mod_version
mod_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_ssl
mod_imagemap
mod_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.httxt2dbm
RewriteMap
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.