本文檔描述了 Apache HTTP Server 1.3 和 2.0 版本之間的一些主要變化。
核心增強(qiáng)
- Unix 線程
- 在支持 POSIX 線程的 Unix 系統(tǒng)上,Apache httpd 現(xiàn)在可以在混合多進(jìn)程、多線程模式下運(yùn)行。這提高了許多配置的可擴(kuò)展性,但不是所有配置。
- 新構(gòu)建系統(tǒng)
- 構(gòu)建系統(tǒng)已從頭開始重寫,以基于
autoconf
和libtool
。這使得 Apache httpd 的配置系統(tǒng)更類似于其他包的配置系統(tǒng)。 - 多協(xié)議支持
- Apache HTTP Server 現(xiàn)在有一些基礎(chǔ)設(shè)施來支持服務(wù)多個協(xié)議。
mod_echo
已經(jīng)寫成例子了。 - 更好地支持非 Unix 平臺
- Apache HTTP Server 2.0 在 BeOS、OS/2 和 Windows 等非 Unix 平臺上更快、更穩(wěn)定。隨著特定于平臺的多處理模塊(MPM) 和 Apache Portable Runtime (APR)的引入,這些平臺現(xiàn)在在其本機(jī) API 中實現(xiàn),避免了經(jīng)常出錯且性能不佳的 POSIX 仿真層。
- 新的 Apache httpd API
- 模塊的 API 在 2.0 中發(fā)生了重大變化。1.3 中的許多模塊排序/優(yōu)先級問題應(yīng)該消失了。2.0 自動完成了大部分工作,模塊排序現(xiàn)在是按鉤子完成的,以提供更大的靈活性。此外,還添加了新調(diào)用,可在不修補(bǔ)核心 Apache HTTP Server 的情況下提供額外的模塊功能。
- IPv6 支持
- 在底層 Apache Portable Runtime 庫支持 IPv6 的系統(tǒng)上,Apache httpd 默認(rèn)獲取 IPv6 偵聽套接字。此外,
Listen
,NameVirtualHost
,和VirtualHost
指令支持IPv6的數(shù)字地址字符串(如“ Listen [2001:db8::1]:8080
“)。 - 過濾
- Apache httpd 模塊現(xiàn)在可以編寫為過濾器,當(dāng)內(nèi)容流傳送到服務(wù)器或從服務(wù)器傳送時,它們會作用于內(nèi)容流。這允許,例如,要分析的服務(wù)器端CGI腳本的輸出包括使用指令
INCLUDES
過濾器mod_include
。該模塊mod_ext_filter
允許外部程序充當(dāng)過濾器,其方式與 CGI 程序可以充當(dāng)處理程序的方式大致相同。 - 多語言錯誤響應(yīng)
- 瀏覽器的錯誤響應(yīng)消息現(xiàn)在使用 SSI 文檔以多種語言提供。管理員可以自定義它們以實現(xiàn)一致的外觀和感覺。
- 簡化配置
- 許多令人困惑的指令已被簡化。經(jīng)?;煜?code>Port和
BindAddress
指令都消失了; 僅該Listen
指令用于 IP 地址綁定;該ServerName
指令指定服務(wù)器名稱和端口號僅用于重定向和虛擬主機(jī)識別。 - 本機(jī) Windows NT Unicode 支持
- Windows NT 上的 Apache httpd 2.0 現(xiàn)在對所有文件名編碼使用 utf-8。這些直接轉(zhuǎn)換為底層 Unicode 文件系統(tǒng),為所有基于 Windows NT 的安裝提供多語言支持,包括 Windows 2000 和 Windows XP。 此支持不擴(kuò)展到 Windows 95、98 或 ME,它們繼續(xù)使用機(jī)器的本地代碼頁進(jìn)行文件系統(tǒng)訪問。
- 更新了正則表達(dá)式庫
- Apache httpd 2.0 包括Perl 兼容正則表達(dá)式庫(PCRE)。所有正則表達(dá)式計算現(xiàn)在都使用更強(qiáng)大的 Perl 5 語法。
模塊增強(qiáng)
mod_ssl
- Apache httpd 2.0 中的新模塊。該模塊是 OpenSSL 提供的 SSL/TLS 加密協(xié)議的接口。
mod_dav
- Apache httpd 2.0 中的新模塊。該模塊實現(xiàn)了用于發(fā)布和維護(hù) Web 內(nèi)容的 HTTP 分布式創(chuàng)作和版本控制 (DAV) 規(guī)范。
mod_deflate
- Apache httpd 2.0 中的新模塊。該模塊允許支持的瀏覽器在傳送前請求壓縮內(nèi)容,從而節(jié)省網(wǎng)絡(luò)帶寬。
mod_auth_ldap
- Apache httpd 2.0.41 中的新模塊。該模塊允許使用 LDAP 數(shù)據(jù)庫來存儲 HTTP 基本身份驗證的憑據(jù)。配套模塊,
mod_ldap
提供連接池和結(jié)果緩存。 mod_auth_digest
- 包括對使用共享內(nèi)存的跨進(jìn)程會話緩存的額外支持。
mod_charset_lite
- Apache httpd 2.0 中的新模塊。這個實驗?zāi)K允許字符集轉(zhuǎn)換或重新編碼。
mod_file_cache
- Apache httpd 2.0 中的新模塊。該模塊包括
mod_mmap_static
Apache HTTP Server 1.3 版中的功能,并添加了進(jìn)一步的緩存功能。 mod_headers
- 這個模塊在 Apache httpd 2.0 中更加靈活。它現(xiàn)在可以修改 使用的請求標(biāo)頭
mod_proxy
,并且可以有條件地設(shè)置響應(yīng)標(biāo)頭。 mod_proxy
- 代理模塊已完全重寫,以利用新的過濾器基礎(chǔ)架構(gòu)并實現(xiàn)更可靠、符合 HTTP/1.1 的代理。此外,新的
<Proxy>
配置部分提供了對代理站點更具可讀性(并且內(nèi)部速度更快)的控制;<Directory "proxy:...">
不支持重載配置。該模塊現(xiàn)在分為特定的協(xié)議支持模塊,包括 proxy_connect
、proxy_ftp
和 proxy_http
。 mod_negotiation
ForceLanguagePriority
可以使用新指令來確??蛻舳嗽谒星闆r下都收到單個文檔,而不是 NOT ACCEPTABLE 或 MULTIPLE CHOICES 響應(yīng)。此外,協(xié)商和 MultiViews 算法已被清理以提供更一致的結(jié)果,并提供了一種可以包含文檔內(nèi)容的新形式的類型映射。mod_autoindex
- 自動索引的目錄列表現(xiàn)在可以配置為使用 HTML 表進(jìn)行更清晰的格式化,并允許對排序進(jìn)行更細(xì)粒度的控制,包括版本排序和目錄列表的通配符過濾。
mod_include
- 新指令允許更改 SSI 元素的默認(rèn)開始和結(jié)束標(biāo)記,并允許在主配置文件而不是 SSI 文檔中進(jìn)行錯誤和時間格式配置。從正則表達(dá)式語法分析和分組(現(xiàn)在基于Perl的正則表達(dá)式語法)的結(jié)果可以使用檢索到
mod_include
的變量$0
.. $9
。 mod_auth_dbm
- 現(xiàn)在使用該
AuthDBMType
指令支持多種類型的類似 DBM 的數(shù)據(jù)庫 。
更多建議: