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