Unix线程
在支持POSIX线程的Unix系统上,现在Apache能在混合的多进程、多线程模式下运行,使很多(但非全部)配置的可伸缩性得到了改善。
新的编译系统
重写了编译系统,现在是基于autoconflibtool的,使得Apache的配置系统与其他软件包更加相似。
多协议支持
Apache现在已经拥有了能够支持多协议的底层构造。mod_echo就是一个例子。
对非Unix平台更好的支持
Apache2.0在诸如BeOS、OS/2、Windows2881064151等非Unix平台上有了更好的速度和稳定性。随着平台特定的多路处理模块(MPM)和Apache可移植运行时(APR)的引入,Apache在这些平台上的指令由它们本地的API指令实现。避免了以往使用POSIX模拟层造成的bug和性能低下。
新的 Apache API
2.0中模块的API有了重大改变。很多1.3中模块排序和模块优先级的问题已经不复存在了。2.0自动处理了很多这样的问题,模块排序现在用per-hook的方法进行,从而拥有了更多的灵活性。另外,增加了新的调用以提高模块的性能,而无需修改Apache服务器核心。
IPv6 支持
在所有能够由Apache可移植运行时库(APR library)提供IPv6支持的系统上,Apache默认使用IPv6侦听套接字。另外,ListenNameVirtualHostVirtualHost指令也支持IPv6的数字地址串(比如:"Listen [2001:db8::1]:8080")。
过滤器
Apache的模块现在可以写成过滤器的形式,当内容流经它进入服务器或从服务器流出的时候进行处理。比如,可以用mod_include中的INCLUDES过滤器将CGI脚本的输出解析为服务器端包含指令。而mod_ext_filter允许外部程序充当过滤器的角色,就象用CGI程序做处理器一样。
多语种错误应答
返回给浏览器的错误信息现在已经用SSI文档实现了多语种化。管理员可以利用此功能进行定制以达到感观的一致。
简化了配置
很多易混淆的配置项已经进行了简化。经常产生混淆的PortBindAddress配置项已经取消了;用于绑定IP地址的只有Listen指令;ServerName指令中指定的服务器名和端口仅用于重定向和虚拟主机的识别。
本地 Windows NT Unicode 支持
Apache2.0在WindowsNT上的文件名全部使用utf-8编码。这个操作直接转换成底层的Unicode文件系统,由此为所有以WindowsNT(包括Windows2000/XP/2003)为基础的安装提供了多语言支持。这一支持目前尚未涵盖Windows95/98/ME系统,因为它们仍使用机器本地的代码页进行文件系统的操作。
正则表达式库更新
Apache2.0包含了Perl兼容的正则表达式库(PCRE)。所有正则表达式现在都使用了更强大的Perl 5 语法。
 

模块的增强

mod_ssl
Apache2.0中的新模块。此模块是OpenSSL提供的一个SSL/TLS加密协议接口。
mod_dav
Apache2.0中的新模块。此模块继承了HTTP分布式发布和版本控制规范,用于发布和维护web内容。
mod_deflate
Apache2.0中的新模块。此模块允许支持此功能的浏览器请求的页面内容在发送前进行压缩,以节省网络带宽。
mod_auth_ldap
Apache2.0.41中的新模块。此模块允许使用LDAP数据库存储HTTP基本认证所需的信息。随之而来的另一个模块mod_ldap则提供了连接池和结果的缓冲。
mod_auth_digest
利用共享内存实现了对跨进程会话缓冲的额外支持。
mod_charset_lite
Apache2.0中的新模块。这个试验模块允许在不同的字符集之间进行转换和重新编码。
mod_file_cache
Apache2.0中的新模块。这个模块包含了Apache1.3中mod_mmap_static模块的功能,另外进一步增加了缓冲能力。
mod_headers
此模块在Apache2.0中更具灵活性。现在,它可以更改mod_proxy使用的请求头信息,并可以有条件地设置应答头信息。
mod_proxy
代理模块已经被完全重写以充分利用新的过滤器结构的优势,从而实现一个更为可靠的HTTP/1.1代理模块。另外,新的<Proxy>配置段提供了更具可读性(而且更快)的代理站点控制;同时,重载<Directory "proxy:...">指令的方法已经不再被支持了。这个模块现在依照协议支持分为proxy_connectproxy_ftpproxy_http三个部分。
mod_negotiation
新的ForceLanguagePriority指令可以确保在所有情况下客户端都收到一个单一文档,以取代不可接受多选择的响应。另外,内容协商和MultiViews算法已经进行了优化以提供更完美的结果,并提供了包括文档内容的新类型表。
mod_autoindex
经过自动索引后的目录列表现在可被配置为使用HTML表格从而使格式更加清晰,而且允许更为细化的排序控制,包括版本排序和通配符过滤目录列表。
mod_include
新的指令集允许修改默认的SSI元素的开始和结束标签,而且允许以主配置文件里的错误提示和时间格式的配置取代SSI文档中的相应部分。正则表达式(现在已基于Perl的正则表达式语法)的解析和分组结果可以用mod_include的变量 $0 .. $9 取得。
mod_auth_dbm
现在可以使用AuthDBMType指令支持多种类似DBM的数据库。

最新文章

  1. 阿里笔试题:在n个人中找明星
  2. 解析JSON字符串
  3. 【代码笔记】iOS-单项选择框
  4. WEBSTORM 打开多个项目的方法
  5. Jquery Ajax调用aspx页面方法
  6. BZOJ 2716 [Violet 3]天使玩偶 ——KD-Tree
  7. 今天踩过的坑——structs和spring
  8. Cannot find SS.INI file for user *** 解决方法
  9. Struts 1.3(第一例) - Login
  10. 微信用户授权,取openid
  11. Qt5 Addin 出现问题模块计算机类型“x64”与目标计算机类型“X86”冲突
  12. C#使用System.Data.SQLite操作SQLite
  13. 现代程序设计 homework-08
  14. git拉取远程分支并创建本地分支和Git中从远程的分支获取最新的版本到本地
  15. 与QString(&quot;我是中文&quot;)完全一样,你必须告诉tr这个窄字符串是何种编码?你不告诉它,它就用latin1。于是所谓的乱码问题就出来了。
  16. MFC 显示CImg图片
  17. ASP.NET MVC 实现AJAX跨域请求的两种方法
  18. Volley解析之表单提交篇
  19. SQLServer存储过程编写规则
  20. Git让你从入门到精通,看这一篇就够了

热门文章

  1. javascript onload队列
  2. mysql 判空
  3. Windows下配置Apache服务器并支持php
  4. 9.Python笔记之面向对象高级部分
  5. SpringJDBC的简单应用
  6. NEFU 1142 表哥的面包
  7. linux环境下配置虚拟主机域名
  8. innobackupex err2
  9. mysql:表注释和字段注释
  10. PHP“Cannot use object of type stdClass as array” (php在调用json_decode从字符串对象生成json对象时的报错)