本文档描述了Apache HTTP Server 2.0和2.2版本之间的一些主要更改。有关自1.3版以来的新功能,请参阅2.0新功能 文档。
mod_cache
,mod_cache_disk
和mod_mem_cache(已从2.3 / 2.4中删除)进行了很多更改,现在被认为是生产质量。htcacheclean
已引入以清理mod_cache_disk
设置。prefork
,worker
并且
event
最可能模式现在允许httpd
通过将安全关机
graceful-stop
信号。该GracefulShutdownTimeout
指令已被添加到指定可选超时,之后
httpd
无论是送达的任何请求的状态将终止。mod_proxy_balancer
模块为提供负载平衡服务mod_proxy
。新mod_proxy_ajp
模块增加了对Apache TomcatApache JServ Protocol version 1.3
使用的
支持
。httpd
通过传递--with-pcre
标志进行配置,可以将其配置为使用PCRE的系统安装
。mod_filter
将动态配置引入输出滤波器链。它使过滤器能够基于任何Request或Response标头或环境变量被有条件地插入,并且免除了2.0体系结构中更棘手的依赖关系和排序问题。httpd
现在在现代32位Unix系统上构建了对大于2GB的文件的支持。还增加了对处理大于2GB请求正文的支持。event
MPM使用单独的线程来处理保持活动的请求和接受连接。传统上,“保持活动”请求需要httpd专门负责处理此请求。在达到“保持活动”超时之前,无法再次使用此专用工作程序。mod_dbd
与该apr_dbd
框架一起,为需要它的模块提供了直接的SQL支持。支持线程MPM中的连接池。mod_auth
现在拆分为
mod_auth_basic
和
mod_authn_file
;mod_auth_dbm
现在被称为mod_authn_dbm
; mod_access
已重命名mod_authz_host
。还有一个新的mod_authn_alias(已从2.3 / 2.4中删除)模块,用于简化某些身份验证配置。
mod_authnz_ldap
mod_auth_ldap
模块到2.2 Authn/Authz
框架的端口
。新功能包括在Require
指令中使用LDAP属性值和复杂的搜索过滤器
。mod_authz_owner
mod_version
mod_info
?config
参数,该参数将显示Apache解析的配置指令,包括其文件名和行号。该模块还显示所有请求挂钩的顺序和其他构建信息,类似于httpd -V
。mod_ssl
mod_imagemap
mod_imap
已重命名以
mod_imagemap
避免用户混淆。httpd
-M
,其中列出了基于当前配置加载的所有模块。与该-l
选项不同,此列表包括通过加载的DSO mod_so
。httxt2dbm
RewriteMap
与dbm
地图类型一起使用。APR
和中
删除所有不推荐使用的功能和符号APR-Util
。有关详细信息,请参见
APR网站。mod_auth_*
->实现HTTP身份验证机制的模块mod_authn_*
->提供后端身份验证提供程序的模块mod_authz_*
->实现授权(或访问)的模块mod_authnz_*
->实现身份验证和授权的模块ap_log_cerror
已添加新功能,以记录客户端连接发生的错误。记录后,该消息包括客户端IP地址。test_config
已添加新的挂钩,以帮助仅在用户传递-t
到时才执行特殊代码的辅助模块
httpd
。ThreadStackSize
添加了新指令,以设置所有线程MPM的堆栈大小。对于默认线程堆栈较小的平台上的某些第三方模块,这是必需的。mod_filter
使用
ap_register_output_filter_protocol
或
ap_filter_protocol
调用将通用协议管理委托
给。pcreposix.h
报头不再可用; 它由新的ap_regex.h
标头替换。regex.h
现在,旧标头公开的POSIX.2 实现在的ap_
命名空间下可用ap_regex.h
。调用regcomp
,
regexec
等等都可以通过电话进行更换
ap_regcomp
,ap_regexec
。使用Apache 1.x和2.0,需要SQL后端的模块必须自行管理。除了重新设计轮子之外,这可能非常无效,例如,当几个模块各自维护自己的连接时。
Apache 2.1和更高版本提供了ap_dbd
用于管理数据库连接的API(包括针对线程和非线程MPM的优化策略),而APR 1.2和更高版本提供了apr_dbd
用于与数据库进行交互的API。
现在,新模块应该将这些API用于所有SQL数据库操作。应该升级现有的应用程序以在可行的情况下使用它,以透明的方式或作为对其用户的推荐选项。