<-
Apache HTTP 服务器 2.4 > Apache 2.1 / 2.2的新功能

Apache HTTP Server 2.2中的新功能概述

本文档描述了Apache HTTP Server 2.0和2.2版本之间的一些主要更改。有关自1.3版以来的新功能,请参阅2.0新功能 文档。

支持Apache!

也可以看看

最佳

核心增强

验证/验证
捆绑的身份验证和授权模块已重构。新的mod_authn_alias(已从2.3 / 2.4中删除)模块可以大大简化某些身份验证配置。请参阅模块名称更改,以及 开发人员更改以获取有关这些更改如何影响用户和模块编写者的更多信息。
快取
mod_cachemod_cache_disk和mod_mem_cache(已从2.3 / 2.4中删除)进行了很多更改,现在被认为是生产质量。htcacheclean 已引入以清理mod_cache_disk 设置。
组态
默认配置布局已简化和模块化。现在可以将可用于启用常用功能的配置片段与Apache捆绑在一起,并且可以轻松地将其添加到主服务器配置中。
优雅的停止
preforkworker并且 event 最可能模式现在允许httpd 通过将安全关机 graceful-stop 信号。该GracefulShutdownTimeout指令已被添加到指定可选超时,之后 httpd无论是送达的任何请求的状态将终止。
代理
mod_proxy_balancer模块为提供负载平衡服务mod_proxy。新mod_proxy_ajp模块增加了对Apache TomcatApache JServ Protocol version 1.3使用的 支持 。
正则表达式库已更新
现在包括Perl兼容正则表达式库(PCRE)的5.0版 。 httpd通过传递--with-pcre标志进行配置,可以将其配置为使用PCRE的系统安装 。
智能过滤
mod_filter将动态配置引入输出滤波器链。它使过滤器能够基于任何Request或Response标头或环境变量被有条件地插入,并且免除了2.0体系结构中更棘手的依赖关系和排序问题。
大文件支持
httpd现在在现代32位Unix系统上构建了对大于2GB的文件的支持。还增加了对处理大于2GB请求正文的支持。
活动MPM
eventMPM使用单独的线程来处理保持活动的请求和接受连接。传统上,“保持活动”请求需要httpd专门负责处理此请求。在达到“保持活动”超时之前,无法再次使用此专用工作程序。
SQL数据库支持
mod_dbd与该apr_dbd 框架一起,为需要它的模块提供了直接的SQL支持。支持线程MPM中的连接池。
最佳

模块增强

验证/验证
aaa目录中的模块已重命名,并为摘要身份验证提供了更好的支持。例如, mod_auth现在拆分为 mod_auth_basicmod_authn_filemod_auth_dbm现在被称为mod_authn_dbm; mod_access已重命名mod_authz_host。还有一个新的mod_authn_alias(已从2.3 / 2.4中删除)模块,用于简化某些身份验证配置。
mod_authnz_ldap
该模块是2.0 mod_auth_ldap模块到2.2 Authn/Authz 框架的端口 。新功能包括在Require指令中使用LDAP属性值和复杂的搜索过滤器 。
mod_authz_owner
一个新模块,该模块根据文件系统上文件的所有者授权对文件的访问
mod_version
一个新模块,允许根据正在运行的服务器的版本号启用配置块。
mod_info
添加了一个新?config参数,该参数将显示Apache解析的配置指令,包括其文件名和行号。该模块还显示所有请求挂钩的顺序和其他构建信息,类似于httpd -V
mod_ssl
添加了对RFC 2817的支持 ,该支持允许连接从明文升级到TLS加密。
mod_imagemap
mod_imap已重命名以 mod_imagemap避免用户混淆。
最佳

程序增强

httpd
添加了新的命令行选项-M,其中列出了基于当前配置加载的所有模块。与该-l选项不同,此列表包括通过加载的DSO mod_so
httxt2dbm
一个新程序,用于从文本输入生成dbm文件,以RewriteMapdbm地图类型一起使用。
最佳

模块开发人员变更

APR 1.0 API
Apache 2.2使用APR 1.0 API。已从APR和中 删除所有不推荐使用的功能和符号APR-Util。有关详细信息,请参见 APR网站
验证/验证
捆绑的身份验证和授权模块已按照以下几行进行了重命名:
  • mod_auth_* ->实现HTTP身份验证机制的模块
  • mod_authn_* ->提供后端身份验证提供程序的模块
  • mod_authz_* ->实现授权(或访问)的模块
  • mod_authnz_* ->实现身份验证和授权的模块
有一个新的身份验证后端提供程序方案,可以大大简化新身份验证后端的构建。
连接错误记录
ap_log_cerror已添加新功能,以记录客户端连接发生的错误。记录后,该消息包括客户端IP地址。
测试配置挂钩已添加
test_config已添加新的挂钩,以帮助仅在用户传递-t到时才执行特殊代码的辅助模块 httpd
设置线程MPM的堆栈大小
ThreadStackSize添加了新指令,以设置所有线程MPM的堆栈大小。对于默认线程堆栈较小的平台上的某些第三方模块,这是必需的。
输出过滤器的协议处理
过去,每个过滤器都有责任确保在影响它们的地方生成正确的响应头。过滤器现在可以mod_filter使用 ap_register_output_filter_protocolap_filter_protocol调用将通用协议管理委托 给。
监视器挂钩已添加
监视器挂钩使模块能够在父(根)进程中运行常规/计划的作业。
正则表达式API的更改
pcreposix.h报头不再可用; 它由新的ap_regex.h标头替换。regex.h现在,旧标头公开的POSIX.2 实现在的ap_命名空间下可用ap_regex.h。调用regcompregexec等等都可以通过电话进行更换 ap_regcompap_regexec
DBD框架(SQL数据库API)

使用Apache 1.x和2.0,需要SQL后端的模块必须自行管理。除了重新设计轮子之外,这可能非常无效,例如,当几个模块各自维护自己的连接时。

Apache 2.1和更高版本提供了ap_dbd用于管理数据库连接的API(包括针对线程和非线程MPM的优化策略),而APR 1.2和更高版本提供了apr_dbd用于与数据库进行交互的API。

现在,新模块应该将这些API用于所有SQL数据库操作。应该升级现有的应用程序以在可行的情况下使用它,以透明的方式或作为对其用户的推荐选项。

可用语言: zh  |  fr  |  ko  |  pt-br  |  TR 

最佳

注释

注意:
这不是“问答”部分。此处放置的评论应指向有关改进文档或服务器的建议,如果实施或被认为无效/偏离主题,我们的主持人可以将其删除。有关如何管理Apache HTTP Server的问题,应直接指向我们的IRC频道#httpd(位于Freenode上),或发送至我们的邮件列表
目前,此页面已禁用评论。