1、核心的增强
Unix線(xiàn)程
在有(yǒu)POSIX線(xiàn)程支持的Unix系统上,Apache现在可(kě)以运行在混合多(duō)进程,多(duō)線(xiàn)程模式。这一改进改善了很(hěn)多(duō)(但不是全部)配置的可(kě)扩缩性。
新(xīn)的构架系统
构架系统已经对原来基于autoconf和libtool上的草(cǎo)稿进行了重写。这使得Apache的配置系统与其他(tā)包的配置系统更加相似。
多(duō)协议支持
Apache现在已经拥有(yǒu)了能(néng)够支持伺服多(duō)协议的底层构造。mod_echo就是作為(wèi)示例的成果。
对非Unix平台更好的支持
Apache 2.0在诸如BeOS,OS/2和Windows等非Unix平台上有(yǒu)了更好的速度和稳定性。随着平台特定的multi-processing modules (MPMs)和Apache Portable Runtime (APR)的引入,Apache在这些平台上的指令由它们本地的API指令实现。避免了以往使用(yòng)POSIX模拟层造成的bug和性能(néng)低下。
新(xīn)的Apache API
2.0中模块的API进行了重大改变。很(hěn)多(duō)1.3中模块排序/模块优先级的问题已经不复存在了。2.0自动处理(lǐ)了很(hěn)多(duō)这样的问题,模块排序现在用(yòng)per-hook的方法进行,从而拥有(yǒu)了更多(duō)的灵活性。而且,新(xīn)的调用(yòng)被加入以在避免修改Apache服務(wù)器核心的前提下提供额外的模块容量。
IPv6支持
在所有(yǒu)能(néng)被Apache Portable Runtime库提供IPv6支持的系统上,Apache默认获得IPv6侦听套接字。另外,Listen, NameVirtualHost和VirtualHost 指令支持了IPv6的数字形地址字串(比如:“Listen [fe80::1]:8080”)。
滤过
Apache的模块现在可(kě)以写成过滤器的形式。当内容流经过它到服務(wù)器或从服務(wù)器到达的时候进行操作。举例来说,这将使使用(yòng)mod_include中的INCLUDES过滤器将CGI脚本的输出解析為(wèi)服務(wù)器端包含指令成為(wèi)可(kě)能(néng)。mod_ext_filter允许外部程序充当过滤器的角色,就象用(yòng)CGI程序做处理(lǐ)器一样。
多(duō)语种错误回报
返回给浏览器的错误信息现在已经用(yòng)SSI文(wén)档实现了多(duō)语种化。管理(lǐ)员可(kě)以利用(yòng)此功能(néng)进行定制以达到观感的一致。
简化了的配置
很(hěn)多(duō)易混淆的配置项已经进行了简化。经常产生混淆的Port和BindAddress配置项已经取消了;只有(yǒu)Listen选项现在用(yòng)于IP地址的绑定;ServerName配置项中指定的服務(wù)器名和端口仅用(yòng)于转向和虚拟机的辨识。
本地Windows NT Unicode支持
Windows NT上的Apache 2.0现在使用(yòng)utf-8标准来进行文(wén)件名的解析。这个操作直接转换成底层的Unicode文(wén)件系统,由此為(wèi)所有(yǒu)以Windows NT(包括Windows 2000和XP)為(wèi)基础的安装提供了多(duō)语言支持。这一支持目前尚未涵盖Windows 95, 98 or ME系统,因為(wèi)它们仍使用(yòng)机器本地的代码页进行文(wén)件系统的操作。
正则表达式库更新(xīn)
Apache 2.0包括了Perl兼容正则表达式库(PCRE)。所有(yǒu)的正则表达式现在都使用(yòng)了更為(wèi)强大的Perl 5的语法。
2、模块的增强
mod_ssl
Apache 2.0中的新(xīn)模块。此模块是一个面向OpenSSL提供的SSL/TLS加密协议的一个接口。
mod_dav
Apache 2.0中的新(xīn)模块。此模块继承了HTTP分(fēn)布式发布和版本控制规范,用(yòng)于发布、得到web内容。
mod_deflate
Apache 2.0中的新(xīn)模块。此模块允许支持此功能(néng)的浏览器请求页面内容在发送前进行压缩,以节省网络资源。
mod_auth_ldap
Apache 2.0.410中的新(xīn)模块。此模块允许使用(yòng)LDAP数据库存储HTTP基础认证所需的证书。随之而来的另一个模块:mod_ldap ,则提供了连接池和结果的缓冲。
mod_auth_digest
利用(yòng)共享内存实现了了额外的跨进程的session缓冲支持。
mod_charset_lite
Apache 2.0中的新(xīn)模块。这个试验模块允许针对字符集的转换和记录。
mod_file_cache
Apache 2.0中的新(xīn)模块。这个模块包含了Apache 1.3中mod_mmap_static模块的功能(néng),另外进一步增加了缓冲能(néng)力。
mod_headers
此模块在Apache 2.0中更具灵活性。它现在可(kě)以更改mod_proxy需用(yòng)的请求headers,而且它能(néng)有(yǒu)条件的设置回复headers。
mod_proxy
代理(lǐ)模块已经被完全重写以充分(fēn)利用(yòng)新(xīn)的过滤器结构的优势,从而实现一个更為(wèi)可(kě)靠的HTTP/1.1兼容的代理(lǐ)模块。另外,新(xīn)的<Proxy>配置部分(fēn)提供了更具可(kě)读性(而且更快)的代理(lǐ)站点控制; 重载<Directory "proxy:...">配置的方法已经不再支持了。这个模块现在依照协议支持分(fēn)為(wèi)proxy_connect, proxy_ftp和proxy_http三个部分(fēn)。
mod_negotiation
加入一个新(xīn)的ForceLanguagePriority指令用(yòng)于保证所有(yǒu)情况下客户端都收到同一个文(wén)档,取代了不可(kě)接受的或多(duō)选择的回应。另外,negotiation和MultiViews算法已经进行了优化以提供更完美的结果,还有(yǒu),提供了包括文(wén)档内容的新(xīn)型类型图。
mod_autoindex
经自动索引后的目录列表现在可(kě)被配置為(wèi)使用(yòng)HTML表格以达到更清晰的格式,而且允许更為(wèi)细化的排序控制,包括版本排序和通配符滤过目录列表。
mod_include
新(xīn)的指令集允许修改默认的SSI元素的开始和结束标签,而且允许以主配置文(wén)件里的错误提示和时间格式的配置取代SSI文(wén)档中的相应部分(fēn)。正则表达式(现在已基于Perl的正则表达式语法)的解析和分(fēn)组结果可(kě)以用(yòng)mod_include的变量$0 .. $9取得。
mod_auth_dbm
现在在AuthDBMType的规策下支持多(duō)种类似DBM的数据库。