<< Back to man.ChinaUnix.net

Apache 2.0手册中文版翻译项目 [本文译者: biAji * ]

项目说明 | 项目进度 | 项目讨论区 | Apache手册中文版

 


Apache 2.0 新特性概要 - Apache HTTP服务器 << Back to man.ChinaUnix.net

<-
Apache主站 > HTTP服务器 > 文档 > 2.0版本

Apache 2.0 新特性概要

此文档描述了Apache HTTP Server 1.3和2.0版本之间的主要变化。

参见

top

核心的增强

Unix线程
在支持POSIX线程的Unix系统上,现在Apache能在混合多进程、 多线程模式下运行,使很多(但不是全部的)配置的可扩缩性得到改善。
新的编译系统
重写了原来的编译系统,现在是基于autoconf和libtool的, 使得Apache的配置系统与其他软件包更加相似。
多协议支持
Apache现在已经拥有了能够支持多协议的底层构造。 mod_echo就是一个例子。
对非Unix平台更好的支持
Apache 2.0在诸如BeOS,OS/2和Windows等非Unix平台上有了更好的速度和稳定性。 随着平台特定的multi-processing modules(MPMs)和 Apache Portable Runtime (APR)的引入,Apache在这些平台上的指令由它们本地的API指令实现。 避免了以往使用POSIX模拟层造成的bug和性能低下。
新的Apache API
2.0 中模块的API有了重大改变。很多1.3 中模块排序/模块优先级的问题已经不复存在了。 2.0 自动处理了很多这样的问题,模块排序现在用per-hook的方法进行,从而拥有了更多的灵活性。 另外,增加了新的调用以提高模块的性能,而无需修改Apache服务器核心。
IPv6支持
在所有能够由Apache Portable Runtime库提供IPv6支持的系统上, Apache默认获得IPv6侦听套接字。另外,Listen, NameVirtualHostVirtualHost 指令支持IPv6的数字地址串(比如:“Listen [fe80::1]:8080”)。
过滤
Apache的模块现在可以写成过滤器的形式, 当内容流经它到服务器或从服务器到达的时候进行处理。 比如,可以用mod_include中的INCLUDES 过滤器将CGI脚本的输出解析为服务器端包含指令。 mod_ext_filter允许外部程序充当过滤器的角色,就象用CGI程序做处理器一样。
多语种错误回报
返回给浏览器的错误信息现在已经用SSI文档实现了多语种化。 管理员可以利用此功能进行定制以达到观感的一致。
简化了的配置
很多易混淆的配置项已经进行了简化。 经常产生混淆的Port和BindAddress配置项已经取消了; 用于绑定IP地址的只有Listen指令; ServerName 指令中指定的服务器名和端口仅用于重定向和虚拟主机的识别。
本地Windows NT Unicode支持
Apache 2.0在Windows NT上的文件名全部使用utf-8编码。 这个操作直接转换成底层的Unicode文件系统, 由此为所有以Windows NT(包括Windows 2000和XP)为基础的安装提供了多语言支持。 这一支持目前尚未涵盖Windows 95, 98 or ME系统, 因为它们仍使用机器本地的代码页进行文件系统的操作。
正则表达式库更新
Apache 2.0 包含了兼容Perl的正则表达式库(PCRE)。 所有的正则表达式现在都使用了更为强大的Perl 5 的语法。
top

模块的增强

mod_ssl
Apache 2.0 中的新模块。 此模块是一个面向OpenSSL提供的SSL/TLS加密协议的一个接口
mod_dav
Apache 2.0 中的新模块。 此模块继承了HTTP分布式发布和版本控制规范,用于发布和维护web内容。
mod_deflate
Apache 2.0 中的新模块。 此模块允许支持此功能的浏览器请求页面内容在发送前进行压缩,以节省网络带宽。
mod_auth_ldap
Apache 2.0.41 中的新模块。 此模块允许使用LDAP数据库存储HTTP基本认证所需的信息。 随之而来的另一个模块:mod_ldap ,则提供了连接池和结果的缓冲。
mod_auth_digest
利用共享内存实现了对跨进程的session缓冲的额外支持。
mod_charset_lite
Apache 2.0 中的新模块。这个试验模块允许针对字符集的转换和重新编码。
mod_file_cache
Apache 2.0 中的新模块。 这个模块包含了Apache 1.3中mod_mmap_static模块的功能,另外进一步增加了缓冲能力。
mod_headers
此模块在Apache 2.0 中更具灵活性。 现在,它可以更改mod_proxy使用的请求头信息, 并可以有条件地设置回复头信息。
mod_proxy
代理模块已经被完全重写以充分利用新的过滤器结构的优势, 从而实现一个更为可靠的兼容HTTP/1.1的代理模块。 另外,新的<Proxy> 指令提供了更具可读性(而且更快)的代理站点控制; 同时,重载<Directory "proxy:...">指令的方法已经不再支持了。 这个模块现在依照协议支持分为proxy_connect, proxy_ftp和proxy_http三个部分。
mod_negotiation
新的ForceLanguagePriority 指令可以确保在所有情况下客户端都收到单一的一个文档, 以取代不可接受多选择的回应。 另外,negotiation和MultiViews算法已经进行了优化以提供更完美的结果, 并提供了包括文档内容的新型类型表。
mod_autoindex
经自动索引后的目录列表现在可被配置为使用HTML表格而使格式更清晰, 而且允许更为细化的排序控制,包括版本排序和通配符过滤目录列表。
mod_include
新的指令集允许修改默认的SSI元素的开始和结束标签, 而且允许以主配置文件里的错误提示和时间格式的配置取代SSI文档中的相应部分。 正则表达式(现在已基于Perl的正则表达式语法)的解析和分组结果可以用mod_include的变量 $0 .. $9取得。
mod_auth_dbm
现在,可以使用AuthDBMType支持多种类似DBM的数据库。

 


项目维护者: kajaa [本文译者: biAji * ]

项目说明 | 项目进度 | 项目讨论区 | Apache手册中文版