欢迎来到天天文库
浏览记录
ID:2073437
大小:303.00 KB
页数:78页
时间:2017-11-14
《apache模块开发指南》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、1.1 ApacheWeb服务器简史1.1.1 Apache1ApacheWeb服务器诞生于1995年。它起源于早期的由NCSA编写的NCSA服务器,并在其基础上进行构建。第一个以Apache命名的服务器产品发布于1999年12月,版本为1.0.0。作为Web服务器,Apache随即取得成功。到1996年4月,Apache已经取代NCSA服务器,成为Internet上使用最广泛的Web服务器,至今依然如此。Apache并不是通常意义上的应用平台:原生API非常有限,同其他产品具有的高级别编程层次相比,Apache需要开发人员付出更多的努力来达到同样的效果。然而,
2、在一些非常有用的功能模块中最值得一提的是已经开发出来的十分优秀的mod_rewrite模块。Apache引起第一次比较大的反响的应用开发框架是Perl语言,由CGI和mod_perl支持。由于mod_perl第一次采用了真正有用而且容易使用的API,大量的编程书籍和开发人员都集中在Perl上。很快,JavaServlet及大量的脚本语言,包括如今的市场领头羊PHP等,都发布了各自的API。Apache1服务器的最后一个主要版本为1.3,发布于1998年6月。尽管新的开发工作移植到Apache2已经很长时间,但Apache1.3仍然处于维护模式,至今依然流行。1.
3、1.2 Apache2Apache的开发人员认识到Apache最初的架构具有局限性,比较粗糙,于是在2000年开始建立新的代码仓库(codebase)主分支,并在此代码仓库的基础上于2002年4月创建了Apache2.0的第一个发布版本。Apache2包括以下优良特性:原生API得到很大幅度改进,使APR库成为单独的实体。这在很大程度上帮助开发人员克服了C语言编程的缺陷,特别是交叉编译平台和资源管理方面的缺陷。通过使用Apache2,C程序员可以达到通常被认为是高层次语言和脚本语言才能达到的高效率。新的拓展架构带来了全新层次的应用程序开发,同时也为以前的模块和应
4、用程序提供了更为简洁的实现方法。本书将会详细介绍如何利用这个新的拓展架构。新的内核架构让Apache2成为真正的跨平台服务器。操作系统层自身成为一个模块(MPM),使得该模块可以被各种操作系统装载。Apache1是一个UNIX应用程序,移植到其他平台上会受到很多的限制,一些UNIX特性使得Apache1在其他平台(如Windows和Netware)上性能较差,而Apache2摆脱了这些特性的限制,使其成为一个真正的跨平台服务器。基于线程的MPM模块的引入也增强了UNIX上很多应用程序的可扩展性。Apache2的缺点在于它的API不能向前兼容Apache1,因此一
5、些第三方的模块和应用程序需要缓慢地升级到Apache2。作为一个稳定版本,Apache2.2于2005年12月发布,相比之前版本具有一些较大的改进。Apache2.2保留并拓展了Apache2.0的API,因此,为Apache2.0所编写的模块和应用程序同样适用于Apache2.2。Apache2.2版本对可扩展性和应用程序架构等方面进行了显著改进。如果说Apache2.0提供了功能强大的应用平台基础,那么Apache2.2则在此基础上进行了添砖加瓦。1.2 Apache软件基金会Apache软件基金会(ASF)为一系列应用范围广泛的开源软件项目提供组织上、法律
6、上和财政上的支持。Apache软件基金会建立了一整套框架来管理知识产权和财政捐献,同时,限制捐献者潜在的、合法的资源泄漏。通过精诚合作的项目开发流程,Apache项目交付了企业级的、免费获取的软件产品,吸引大量的社区用户使用。注重实效的Apache许可证(ApacheLicense)使得无论是商业用户还是个人用户都易于部署Apache的产品。Apache软件基金会的前身是Apache组织(ApacheGroup)。Apache软件基金会是一个非盈利的组织,基于成员制,以保证Apache项目在个人志愿者参与之外能够继续存在。如果个人承诺与开源软件开发项目合作,并不
7、断地参与和贡献Apache软件基金会的项目,那么他(她)就有资格成为Apache软件基金会的成员。通过Apache基金会现有大部分成员的赞同和任命,个人才能成为软件基金会的成员。因此,Apache软件基金会为它所直接服务的社区所掌控,成员都为社区内的项目进行协作。Apache软件基金会的成员按照基金会的规章制度,每隔一段时间选举一个董事会,管理基金会的组织事务,由董事会任命成员监管基金会的日常事务。社区可以公开获取Apache基金会运作的记录。1.2.1 功绩组织模式(Meritocracy)很多软件产品都是在一个开放源代码的许可证之下进行开发的,ApacheW
8、eb服务器则与此不同。A
此文档下载收益归作者所有