<-
Apache > HTTP 服务器 > 文档 > 2.4 版本

Apache HTTP Server 2.0 版本新功能概述

可用语言:  de  |  en  |  fr  |  ja  |  ko  |  pt-br  |  tr 

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

Support Apache!

另请参阅

top

核心增强功能

Unix 线程
在支持 POSIX 线程的 Unix 系统上,Apache httpd 现在可以在混合的多进程、多线程模式下运行。这提高了许多(但并非所有)配置的可扩展性。
新的构建系统
构建系统已从头开始重写,以基于autoconflibtool。这使得 Apache httpd 的配置系统更类似于其他软件包的配置系统。
多协议支持
Apache HTTP Server 现在具有一些支持服务多个协议的基础设施。mod_echo已编写为一个示例。
对非 Unix 平台的更好支持
Apache HTTP Server 2.0 在非 Unix 平台(如 BeOS、OS/2 和 Windows)上更快、更稳定。随着平台特定多处理模块 (MPM) 和 Apache Portable Runtime (APR) 的引入,这些平台现在在其原生 API 中实现,避免了经常出现错误且性能不佳的 POSIX 模拟层。
新的 Apache httpd API
模块的 API 在 2.0 版本中发生了重大变化。1.3 版本中的许多模块排序/优先级问题应该已经消失。2.0 版本自动执行了大部分操作,并且模块排序现在按钩子执行,以允许更大的灵活性。此外,还添加了新的调用,这些调用提供了额外的模块功能,而无需修补核心 Apache HTTP Server。
IPv6 支持
在底层 Apache Portable Runtime 库支持 IPv6 的系统上,Apache httpd 默认情况下会获取 IPv6 监听套接字。此外,ListenNameVirtualHostVirtualHost 指令支持 IPv6 数字地址字符串(例如,"Listen [2001:db8::1]:8080")。
过滤
Apache httpd 模块现在可以编写为过滤器,这些过滤器在内容流传递到服务器或从服务器传递出去时对其进行操作。例如,这允许使用 mod_include 中的 INCLUDES 过滤器解析 CGI 脚本的输出以查找服务器端包含指令。模块 mod_ext_filter 允许外部程序以与 CGI 程序充当处理程序的方式类似地充当过滤器。
多语言错误响应
现在使用 SSI 文档以多种语言提供给浏览器的错误响应消息。管理员可以对其进行自定义,以实现一致的外观和感觉。
简化的配置
许多令人困惑的指令已简化。经常令人困惑的 PortBindAddress 指令已消失;仅 Listen 指令用于 IP 地址绑定;ServerName 指令仅为重定向和虚拟主机识别指定服务器名称和端口号。
原生 Windows NT Unicode 支持
Windows NT 上的 Apache httpd 2.0 现在对所有文件名编码使用 utf-8。这些直接转换为底层 Unicode 文件系统,为所有基于 Windows NT 的安装(包括 Windows 2000 和 Windows XP)提供多语言支持。此支持不扩展到 Windows 95、98 或 ME,这些系统继续使用机器的本地代码页进行文件系统访问。
正则表达式库更新
Apache httpd 2.0 包含 Perl 兼容正则表达式库 (PCRE)。所有正则表达式评估现在都使用更强大的 Perl 5 语法。
top

模块增强功能

mod_ssl
Apache httpd 2.0 中的新模块。此模块是 OpenSSL 提供的 SSL/TLS 加密协议的接口。
mod_dav
Apache httpd 2.0 中的新模块。此模块实现了用于发布和维护 Web 内容的 HTTP 分布式创作和版本控制 (DAV) 规范。
mod_deflate
Apache httpd 2.0 中的新模块。此模块允许支持的浏览器请求在交付之前压缩内容,从而节省网络带宽。
mod_auth_ldap
Apache httpd 2.0.41 中的新模块。此模块允许使用 LDAP 数据库存储 HTTP 基本身份验证的凭据。一个配套模块,mod_ldap 提供连接池和结果缓存。
mod_auth_digest
包括对使用共享内存跨进程进行会话缓存的额外支持。
mod_charset_lite
Apache httpd 2.0 中的新模块。此实验性模块允许进行字符集转换或重新编码。
mod_file_cache
Apache httpd 2.0 中的新模块。此模块包含 Apache HTTP Server 1.3 版本中 mod_mmap_static 的功能,并增加了进一步的缓存功能。
mod_headers
此模块在 Apache httpd 2.0 中更加灵活。它现在可以修改 mod_proxy 使用的请求头,并且可以有条件地设置响应头。
mod_proxy
代理模块已完全重写,以利用新的过滤器基础设施并实现更可靠的 HTTP/1.1 兼容代理。此外,新的 <Proxy> 配置部分提供了更易读(并且内部更快)的代理站点控制;不支持重载的 <Directory "proxy:..."> 配置。该模块现在被划分为特定的协议支持模块,包括 proxy_connectproxy_ftpproxy_http
mod_negotiation
新的 ForceLanguagePriority 指令可用于确保客户端在所有情况下都收到单个文档,而不是 NOT ACCEPTABLE 或 MULTIPLE CHOICES 响应。此外,协商和 MultiViews 算法已清理,以提供更一致的结果,并提供了一种新的类型映射形式,其中可以包含文档内容。
mod_autoindex
自动索引的目录列表现在可以配置为使用 HTML 表格以获得更清晰的格式,并允许对排序进行更细粒度的控制,包括版本排序和目录列表的通配符过滤。
mod_include
新的指令允许更改 SSI 元素的默认开始和结束标记,并允许在主配置文件而不是 SSI 文档中进行错误和时间格式配置。可以使用 mod_include 的变量 $0 .. $9 检索来自正则表达式解析和分组(现在基于 Perl 的正则表达式语法)的结果。
mod_auth_dbm
现在使用 AuthDBMType 指令支持多种类型的类似 DBM 的数据库。

可用语言:  de  |  en  |  fr  |  ja  |  ko  |  pt-br  |  tr 

top

评论

注意
这不是问答部分。此处发布的评论应针对改进文档或服务器的建议,如果这些建议已实施或被认为无效/主题不符,则我们的版主可能会将其删除。有关如何管理 Apache HTTP Server 的问题应直接发送到我们的 IRC 频道 #httpd(在 Libera.chat 上)或发送到我们的 邮件列表