Apache可移植运行时(APR)是一个支持库的Apache Web服务器。它提供了一组映射到底层操作系统(OS)的API。如果操作系统不支持特定功能,APR将提供仿真。因此,程序员可以使用APR使程序真正可以跨平台移植。
简介Apache可移植运行时(Apache Portable Runtime,简称APR)是ApacheHTTP服务器的支持库,提供了一组映射到下层操作系统的API。如果操作系统不支持某个特定的功能,APR将提供一个模拟的实现。这样程序员使用APR编写真正可在不同平台上移植的程序。
最初,APR是作为Apache HTTP服务器的一部分而存在的,但是Apache软件基金会将其延伸成一个单独的项目。其他的应用程序可以使用APR来实现平台无关性。1
功能特性Apache可移植运行时提供的一系列平台无关的功能特性包括:
内存管理和内存池功能
原子操作(Linearizability)
动态库处理
文件I/O
命令参数解析
锁机制
散列表和数组
mmap功能
网络套接字和协议
线程,进程和互斥锁功能
共享内存功能
时间子程序
用户和组ID服务1
类似的项目Glib提供类似的功能特性。 支持更多的数据结构和操作系统无关的函数,但进程间通信相关的函数要少一些(Glib缺少本地和全局锁机制以及共享内存管理)。
网景可移植运行时(NSPR)是Mozilla项目所使用的跨平台抽象库。也被Mozilla应用程序框架(XPFE)的其他子项目所使用,以提供跨平台图形用户界面(GUI)功能特性。
自适配通信环境(ACE)是用C++编写的功能与APR相似的面向对象库,广泛应用于商业产品。
commonc++是系统编程的跨平台C++类库,具有许多与APR的相同的特性。
POCO是概念上与APR类似的现代C++框架,但比APR具有更好的扩展性。
WxWidgets是面向对象的跨平台GUI库,也提供数据库通讯,进程间通信和网络的抽象类。
Qt是具有类似功能的应用开发框架, 同时支持图形用户界面开发。2
Apache HTTP服务器Apache HTTP Server(简称Apache)是Apache软件基金会的一个开放源代码的网页服务器软件,可以在大多数计算机操作系统中运行。由于其跨平台和安全性,被广泛使用,是最流行的Web服务器软件之一。它快速、可靠并且可通过简单的API扩充,将Perl/Python等解释器编译到服务器中。
Apache支持许多特性,大部分通过编译的模块实现。这些特性从服务器端的编程语言支持到身份认证方案。一些通用的语言接口支持Perl,Python,Tcl, 和PHP。流行的认证模块包括mod_access,mod_auth和mod_digest。其他的例子有SSL和TLS支持(mod_ssl),代理服务器(proxy)模块,很有用的URL重写(由mod_rewrite实现),定制日志文件(mod_log_config),以及过滤支持(mod_include和mod_ext_filter)。Apache日志可以通过网页浏览器使用免费的脚本AWStats或Visitors来进行分析。2
本词条内容贡献者为:
王沛 - 副教授、副研究员 - 中国科学院工程热物理研究所