1.支持最新的HTTP/1.1通信协议
2.拥有简单而强有力的基于文件的配置过程
3.支持通用接口
4.支持基于IP和基于域名的虚拟主机
5.支持多种方式的HTTP认证
6.集成Perl处理模块
7.集成服务器模块
8.支持实时监视服务器状态和定制服务器日志
9.支持服务器端包含指令(SSI)
10.支持安全Socket层(SSL)
11.提供用户会话过程的跟踪
12.支持FastCGI
13.通过第三方模块可以支持JavaServlets
14.如果你准备选择Web服务器,毫无疑问Apache是你的最佳选择。
什么是Apache?
Apache HTTP服务器
是一个强大、灵活、符合HTTP/1.1的网络服务器
实现最新的协议,包括HTTP/1.1(RFC2616)。
具有高度的可配置性,可通过第三方模块进行扩展
可以通过使用Apache模块API编写 模块 来进行定制
提供完整的源代码,并有一个不受限制的许可证
可以在Windows 2000、Netware 5.x及以上版本、OS/2、大多数Unix版本以及其他一些操作系统上运行。
正在积极开发中
鼓励用户通过新的想法、错误报告和补丁进行反馈
实现了许多经常要求的功能,包括。
DBM数据库,以及关系型数据库和LDAP认证
允许你轻松地设置有大量授权用户的密码保护的页面,而不会使服务器陷入困境。
对错误和问题的自定义反应
允许你设置文件,甚至CGI脚本,由服务器返回对错误和问题的响应,例如,设置一个脚本来拦截500服务器错误,为用户和你自己执行即时诊断。
多个DirectoryIndex指令 - 允许你说DirectoryIndex index.html index.cgi,它指示服务器在请求一个目录URL时,要么发回index.html,要么运行index.cgi,无论它在目录中找到哪个。
无限灵活的URL重写和别名 - Apache对可以在配置文件中声明的别名和重定向的数量没有固定限制。此外,一个强大的重写引擎可以用来解决大多数URL操作问题。
内容协商 - 即能够自动为不同复杂程度和符合HTML水平的客户提供服务,提供客户能够接受的最佳信息表现的文件。
虚拟主机 - 允许服务器区分对不同IP地址或名称(映射到同一台机器)的请求。Apache还提供动态配置的大规模虚拟主机。
可配置的可靠的管道日志 - 你可以配置Apache以你想要的格式生成日志。此外,在大多数Unix架构上,Apache可以将日志文件发送到一个管道,允许日志轮换、命中过滤、实时将多个vs分割成独立的日志,并在运行中进行异步DNS解析。
Apache httpd的性能与其他服务器相比如何?
基准测试往往是对配置能力的一种衡量,而不是对服务器质量的衡量。也就是说,如果你是IIS的专家,你可能会让它运行得比你让Apache运行得快。因此,你可以找到各种HTTP服务器的比较,证明每个服务器都比其他服务器快。我们倾向于对服务器的性能基准持谨慎态度。
Apache httpd的测试有多彻底?
Apache在超过1.2亿台互联网服务器上运行(截止到2010年4月)(来源:Netcraft)。它已经被开发人员和用户彻底测试过了。Apache HTTP服务器项目管理委员会在发布其服务器的新版本之前保持着严格的标准,而我们的服务器在互联网上超过一半的WWW服务器上都能顺利运行。当有错误出现时,我们会在第一时间发布补丁和新版本。
Apache 2.2.22的变化
*) 安全性。CVE-2011-3368 (cve.mitre.org)
拒绝那些请求URI不符合HTTP规范的请求。
规格的请求,防止在某些反向代理配置中意外扩展目标URL。
拒绝请求URI不符合HTTP规范的请求,防止在某些反向代理配置中意外扩展目标URL。 [Joe Orton]
*) 安全性。CVE-2011-3607 (cve.mitre.org)
修复ap_pregsub()中的整数溢出,当mod_setenvif模块启用时,可能允许本地用户通过。
中的整数溢出,当mod_setenvif模块被启用时,可能允许本地用户通过.htaccess
文件。[Stefan Fritsch, Greg Ames] 。
*) 安全性。CVE-2011-4317 (cve.mitre.org)
用ProxyPassMatch或RewriteRule解决URL重写的其他情况。
重写规则的额外情况,其中特定的请求-URI可能导致不希望的
在某些情况下可能导致后端网络暴露。
[Joe Orton]
*) 安全性。CVE-2012-0021 (cve.mitre.org)
mod_log_config: 修正当'%{cookiename}C'日志格式字符串被使用时,客户端发送无名cookie的情况下的分离故障(崩溃)。
导致拒绝服务。
拒绝服务。该问题从2.2.17版开始存在。PR 52256.
[Rainer Canavan
*) 安全性。CVE-2012-0031 (cve.mitre.org)
修复记分牌问题,该问题可能允许无特权的子进程
可能导致父进程在关闭时崩溃,而不是干净地终止
干净的。 [Joe Orton]
*) 安全性。CVE-2012-0053 (cve.mitre.org)
修复错误响应中的一个问题,该问题可能会暴露 httpOnly cookies。
当没有为状态代码400指定自定义的ErrorDocument时,可能会暴露 httpOnly cookies。
[Eric Covener]
*) mod_proxy_ajp: 尝试防止单一的长请求将一个工作者标记为
在错误中。[Jean-Frederic Clere]
*) config: 更新默认的mod_ssl配置。禁用SSLv2,只允许
允许>=128位密码,为速度优化的密码列表添加注释示例。
列表,将MSIE的解决方法限制在MSIE<= 5。[Kaspar Brand]
*) 核心。修复ap_send_interim_response()的segfault。PR 52315.
[Stefan Fritsch].
*) mod_log_config: 防止 segfault。PR 50861. [Torsten F�rtsch
*) mod_win32: 颠倒了对env var UTF-8的修复逻辑。
现在,我们排除了一个我们确定不包含UTF-8字符的变量列表。
字符;所有其他变量将被修复。这样做的好处是,现在也
所有来自第三方模块的变量都将被修复。pr 13029 / 34985。
[Guenter Knauf].
*)核心。修复Perl模块的钩子排序问题,这个问题在
2.2.21. PR:45076。[Torsten Foertsch
*) 修正2.2.20中CVE-2011-3192 byterange修复带来的回归。
一个'0-'的范围现在将返回206而不是200。PR 51878.
[Jim Jagielski].
*) 配置示例。修正MaxRanges的条目(使用 无限 而不是 0)。
而不是 0)。 [Rainer Jung]
*) mod_substitute: 修复缓冲区超限。 [Ruediger Pluem, Rainer Jung].
通过.DeepL.com/Translator(免费版)翻译