1、核心的增強
Unix線程
在有(yǒu)POSIX線程支持的Unix系統上(shàng),Apache現在可(kě)以運行(xíng)在混合多(duō)進程,多(duō)線程模式。這一改進改善了很(hěn)多(duō)(但(dàn)不是全部)配置的可(kě)擴縮性。
新的構架系統
構架系統已經對原來(lái)基于autoconf和(hé)libtool上(shàng)的草稿進行(xíng)了重寫。這使得(de)Apache的配置系統與其他包的配置系統更加相似。
多(duō)協議支持
Apache現在已經擁有(yǒu)了能夠支持伺服多(duō)協議的底層構造。mod_echo就是作為(wèi)示例的成果。
對非Unix平台更好的支持
Apache 2.0在諸如BeOS,OS/2和(hé)Windows等非Unix平台上(shàng)有(yǒu)了更好的速度和(hé)穩定性。随着平台特定的multi-processing modules (MPMs)和(hé)Apache Portable Runtime (APR)的引入,Apache在這些(xiē)平台上(shàng)的指令由它們本地的API指令實現。避免了以往使用POSIX模拟層造成的bug和(hé)性能低(dī)下。
新的Apache API
2.0中模塊的API進行(xíng)了重大改變。很(hěn)多(duō)1.3中模塊排序/模塊優先級的問題已經不複存在了。2.0自動處理了很(hěn)多(duō)這樣的問題,模塊排序現在用per-hook的方法進行(xíng),從而擁有(yǒu)了更多(duō)的靈活性。而且,新的調用被加入以在避免修改Apache服務器核心的前提下提供額外的模塊容量。
IPv6支持
在所有(yǒu)能被Apache Portable Runtime庫提供IPv6支持的系統上(shàng),Apache默認獲得(de)IPv6偵聽(tīng)套接字。另外,Listen, NameVirtualHost和(hé)VirtualHost 指令支持了IPv6的數(shù)字形地址字串(比如:“Listen [fe80::1]:8080”)。
濾過
Apache的模塊現在可(kě)以寫成過濾器的形式。當內(nèi)容流經過它到服務器或從服務器到達的時(shí)候進行(xíng)操作。舉例來(lái)說,這将使使用mod_include中的INCLUDES過濾器将CGI腳本的輸出解析為(wèi)服務器端包含指令成為(wèi)可(kě)能。mod_ext_filter允許外部程序充當過濾器的角色,就象用CGI程序做處理器一樣。
多(duō)語種錯誤回報
返回給浏覽器的錯誤信息現在已經用SSI文檔實現了多(duō)語種化。管理員可(kě)以利用此功能進行(xíng)定制(zhì)以達到觀感的一緻。
簡化了的配置
很(hěn)多(duō)易混淆的配置項已經進行(xíng)了簡化。經常産生(shēng)混淆的Port和(hé)BindAddress配置項已經取消了;隻有(yǒu)Listen選項現在用于IP地址的綁定;ServerName配置項中指定的服務器名和(hé)端口僅用于轉向和(hé)虛拟機的辨識。
本地Windows NT Unicode支持
Windows NT上(shàng)的Apache 2.0現在使用utf-8标準來(lái)進行(xíng)文件名的解析。這個(gè)操作直接轉換成底層的Unicode文件系統,由此為(wèi)所有(yǒu)以Windows NT(包括Windows 2000和(hé)XP)為(wèi)基礎的安裝提供了多(duō)語言支持。這一支持目前尚未涵蓋Windows 95, 98 or ME系統,因為(wèi)它們仍使用機器本地的代碼頁進行(xíng)文件系統的操作。
正則表達式庫更新
Apache 2.0包括了Perl兼容正則表達式庫(PCRE)。所有(yǒu)的正則表達式現在都使用了更為(wèi)強大的Perl 5的語法。
2、模塊的增強
mod_ssl
Apache 2.0中的新模塊。此模塊是一個(gè)面向OpenSSL提供的SSL/TLS加密協議的一個(gè)接口。
mod_dav
Apache 2.0中的新模塊。此模塊繼承了HTTP分布式發布和(hé)版本控制(zhì)規範,用于發布、得(de)到web內(nèi)容。
mod_deflate
Apache 2.0中的新模塊。此模塊允許支持此功能的浏覽器請(qǐng)求頁面內(nèi)容在發送前進行(xíng)壓縮,以節省網絡資源。
mod_auth_ldap
Apache 2.0.410中的新模塊。此模塊允許使用LDAP數(shù)據庫存儲HTTP基礎認證所需的證書。随之而來(lái)的另一個(gè)模塊:mod_ldap ,則提供了連接池和(hé)結果的緩沖。
mod_auth_digest
利用共享內(nèi)存實現了了額外的跨進程的session緩沖支持。
mod_charset_lite
Apache 2.0中的新模塊。這個(gè)試驗模塊允許針對字符集的轉換和(hé)記錄。
mod_file_cache
Apache 2.0中的新模塊。這個(gè)模塊包含了Apache 1.3中mod_mmap_static模塊的功能,另外進一步增加了緩沖能力。
mod_headers
此模塊在Apache 2.0中更具靈活性。它現在可(kě)以更改mod_proxy需用的請(qǐng)求headers,而且它能有(yǒu)條件的設置回複headers。
mod_proxy
代理模塊已經被完全重寫以充分利用新的過濾器結構的優勢,從而實現一個(gè)更為(wèi)可(kě)靠的HTTP/1.1兼容的代理模塊。另外,新的<Proxy>配置部分提供了更具可(kě)讀性(而且更快)的代理站點控制(zhì); 重載<Directory "proxy:...">配置的方法已經不再支持了。這個(gè)模塊現在依照協議支持分為(wèi)proxy_connect, proxy_ftp和(hé)proxy_http三個(gè)部分。
mod_negotiation
加入一個(gè)新的ForceLanguagePriority指令用于保證所有(yǒu)情況下客戶端都收到同一個(gè)文檔,取代了不可(kě)接受的或多(duō)選擇的回應。另外,negotiation和(hé)MultiViews算(suàn)法已經進行(xíng)了優化以提供更完美的結果,還(hái)有(yǒu),提供了包括文檔內(nèi)容的新型類型圖。
mod_autoindex
經自動索引後的目錄列表現在可(kě)被配置為(wèi)使用HTML表格以達到更清晰的格式,而且允許更為(wèi)細化的排序控制(zhì),包括版本排序和(hé)通(tōng)配符濾過目錄列表。
mod_include
新的指令集允許修改默認的SSI元素的開(kāi)始和(hé)結束标簽,而且允許以主配置文件裏的錯誤提示和(hé)時(shí)間(jiān)格式的配置取代SSI文檔中的相應部分。正則表達式(現在已基于Perl的正則表達式語法)的解析和(hé)分組結果可(kě)以用mod_include的變量$0 .. $9取得(de)。
mod_auth_dbm
現在在AuthDBMType的規策下支持多(duō)種類似DBM的數(shù)據庫。