Apache HTTP服务器2.4中的新功能概览
原文 http://www.toxingwang.com/linux-unix/www/1249.html
核心增强功能
运行时加载MPM:
多道处理模块MPM在2.4中可以在编译时全部编译,编译后可以动态加载。编译选项如下:
--enable-mpms-shared=all #全部编译
--with-mpm=event #默认MPM为event
Event MPM:
在2.2中event MPM是实验性的,而2.4开始不再是试验性的,而是默认MPM。
异步支持:
更好地支持异步读/写支持的MPM和平台。
每个模块和每个目录的日志独立配置:
日志可以配置每个模块和每个目录,且可以单独定义日志级别。
每个请求配置:
<If> 、<ElseIf>、<Else> 可用于设置基于每个请求的标准配置。
通用表达式解析器:
新的表达式解析器允许指定 复杂的条件下,使用一个共同的语法像SetEnvIfExpr, RewriteCond, Header, <If>和其他指令 。
以毫秒为单位的KeepAliveTimeout:
以毫秒为单位指定的KeepAliveTimeout,2.2是以秒为单位。
NameVirtualHost指令:
基于域名的虚拟主机不再需要NameVirtualHost指令。
覆盖配置:
新AllowOverrideList 指令允许更细粒度的控制指令是允许的.htaccess文件。
Config文件变量:
这是现在可以 在配置中定义的变量,允许在很多地方使用相同配置,从而是配置看起来更清晰。
减少内存使用:
尽管新增了许多新功能,但2.4.x的往往比2.2.x中使用较少的内存。
新曾的模块
mod_proxy_fcgi
直接支持FastCGI协议的代理模块,而2.2需要额外安装第三方模块
mod_proxy_scgi
SCGI协议代理模块
mod_proxy_express
Provides dynamically configured mass reverse proxies for mod_proxy。反向代理
mod_remoteip
替换明显的客户端远程IP地址和主机名的请求通过代理或负载平衡器通过请求头的IP地址列表。
mod_heartmonitor, mod_lbmethod_heartbeat
允许mod_proxy_balancer的后端服务器上的活动连接数为负载平衡决策的基础。
mod_proxy_html
2.2是第三方模块,支持固定一个反向代理的情况下,后台生成的URL是无效代理的客户中的HTML链接。
mod_sed
先进的更换的mod_substitute,允许的sed编辑回应身体的全部力量。
mod_auth_form
允许做基于表单的身份验证。
mod_session
可以保持客户端的会话状态,使用cookie或数据库存储。
mod_allowmethods
限制某些HTTP方法不干扰认证或授权。
mod_lua
嵌入的Lua语言到httpd的配置和小型业务逻辑功能。(实验性的)
mod_log_debug
允许添加定制的调试日志记录,在请求处理的不同阶段。
mod_buffer
提供了用于缓冲的输入和输出功能栈
mod_data
响应主体转换成RFC2397数据URL
mod_ratelimit
提供客户端带宽速率限制
mod_request
提供过滤器处理,使可用的HTTP请求机构
mod_reflector
提供了一种通过请求体反射作为输出响应。
mod_slotmem_shm
提供了一种基于时隙的共享存储提供(ala the scoreboard)。
mod_xml2enc
以前的第三方模块,支持基于libxml2的(识别标记)过滤器模块的国际化。
其他更多新特性请参考http://httpd.apache.org/docs/2.4/zh-cn/new_features_2_4.html