Apache HTTP Server 版本2.2

這篇文檔簡述了Apache HTTP Server 2.0和2.2 版本之間的主要差異。對于1.3版本以后的新特性,請參考Apache 2.0 新特性文檔。
mod_authn_alias模塊可以極大的簡化某些身份認(rèn)證的配置。請參見模塊名的變更和針對模塊開發(fā)者的變更以了解更多有關(guān)這些變更對于模塊使用者和模塊開發(fā)者的影響。mod_cache、mod_disk_cache、mod_mem_cache經(jīng)歷了諸多修改以后現(xiàn)在已經(jīng)具備了合格的產(chǎn)品質(zhì)量了。新增加的htcacheclean工具可以用來清理mod_disk_cache模塊使用的緩沖存儲區(qū)。prefork、worker、event多路處理模塊(MPM)現(xiàn)在允許httpd通過graceful-stop信號被優(yōu)雅的停止?梢杂眯略龅GracefulShutdownTimeout指令指定一個(gè)超時(shí)時(shí)間,超過指定的時(shí)間以后httpd將會強(qiáng)行中止,而無論請求所處的服務(wù)狀態(tài)如何。mod_proxy_balancer模塊為mod_proxy提供了負(fù)載均衡服務(wù)。新增的mod_proxy_ajp模塊為Apache Tomcat使用的Apache JServ Protocol version 1.3提供了支持。httpd現(xiàn)在可以通過 --with-pcre 編譯選項(xiàng)使用系統(tǒng)中已經(jīng)安裝好的PCRE。mod_filter可以進(jìn)行輸出過濾器鏈的動(dòng)態(tài)配置。它允許過濾器按照請求頭或應(yīng)答頭或環(huán)境變量有條件的插入,這樣就避免了許多在Apache2.0體系結(jié)構(gòu)中存在的過濾器之間的依賴性和順序問題。event多路處理模塊(MPM)使用一個(gè)單獨(dú)隔開的線程處理持久連接(Keep Alive)。傳統(tǒng)上,持久連接要求httpd專門拿出一個(gè)工作者(worker)(也就是一個(gè)進(jìn)程/線程)來處理它。這個(gè)專用的工作者在持久連接超時(shí)前不能被重新使用。mod_dbd和apr_dbd框架(framework)一起為需要使用數(shù)據(jù)庫的模塊提供直接的支持。在線程化的MPM中還能支持連接緩沖池。
Windows用戶請注意,這個(gè)特性尚未包含在標(biāo)準(zhǔn)的windows版Apache中。如果你嘗試在Windows平臺上使用這個(gè)特性,請告訴我們你的進(jìn)展情況。
mod_auth_basic和mod_authn_file兩個(gè)模塊;mod_auth_dbm現(xiàn)在更名為mod_authn_dbm;mod_access現(xiàn)在更名為mod_authz_host;還新增了一個(gè)mod_authn_alias模塊用于簡化某些認(rèn)證配置。mod_authnz_ldapmod_auth_ldap模塊到2.2版的Authn/Authz框架的一個(gè)移植。新的特性包括使用LDAP屬性值和Require指令中復(fù)雜的搜索過濾器。mod_info?config 參數(shù),可以用來顯示被Apache分析過的配置指令,包括它們的文件名和行號。該模塊還顯示所有請求鉤子(request hook)的順序和額外的編譯信息,有些類似于 httpd -Vmod_sslmod_imagemapmod_imagemap,以避免用戶產(chǎn)生混淆和疑惑。httpd-M 用來列出基于當(dāng)前配置加載的所有模塊。不同于 -l 選項(xiàng)的是,它還列出了通過mod_so加載的DSO(動(dòng)態(tài)共享對象)。httxt2dbmRewriteMap中使用dbm映射表(map)類型。APR 和 APR-Util 中清除掉了。欲知詳情,請查看APR 網(wǎng)站。ap_log_cerror函數(shù)用于記錄客戶端連接時(shí)發(fā)生的錯(cuò)誤。并且在記錄時(shí)包含客戶端IP地址。test_config 鉤子,可以在用戶向httpd傳遞 -t 選項(xiàng)時(shí),執(zhí)行包含特定代碼的模塊。ThreadStackSize指令可以用來限制所有線程型MPM所使用的棧大小。一些默認(rèn)?臻g較小的平臺上的第三方模塊需要使用它指定棧空間的大小。ap_register_output_filter_protocol或ap_filter_protocol來委托mod_filter進(jìn)行協(xié)議管理。pcreposix.h頭文件現(xiàn)在被ap_regex.h頭文件取代了。原來老的POSIX.2 regex.h 實(shí)現(xiàn)現(xiàn)在位于ap_名字空間下(由ap_regex.h提供)。比如原來的regcomp, regexec調(diào)用現(xiàn)在要修改成ap_regcomp, ap_regcomp調(diào)用。在1.x和2.0版本中,需要SQL支持的模塊必須自己管理數(shù)據(jù)庫。為了不要重新發(fā)明輪子,Apache 2.1 及以后的版本提供了ap_dbd API 來管理數(shù)據(jù)庫連接(包括對線程型和非線程型MPM進(jìn)行優(yōu)化),同時(shí) APR 1.2 及以后版本也提供了apr_dbd API 與數(shù)據(jù)庫打交道。
新模塊應(yīng)當(dāng)使用了這些API來進(jìn)行數(shù)據(jù)庫操作。現(xiàn)存的應(yīng)用程序應(yīng)當(dāng)進(jìn)行透明的升級或使用推薦選項(xiàng)來使用這些API。