全球专业中文经管百科,由121,994位网友共同编写而成,共计436,047个条目

Apache HTTP Server Project

用手机看条目

出自 MBA智库百科(https://wiki.mbalib.com/)

Apache HTTP Server Project——世界使用排名第一的Web伺服器軟體

目錄

Apache HTTP Server Project簡介

  Apache HTTP Server Project(簡稱Apache)是Apache軟體基金會的一個開放源碼的網頁伺服器,可以在大多數電腦操作系統中運行,由於其多平臺和安全性被廣泛使用,是最流行的Web伺服器端軟體之一。它快速、可靠並且可通過簡單的API擴展,將PerlPython等解釋器編譯到伺服器中。

  Apache是世界使用排名第一的Web伺服器軟體。它可以運行在幾乎所有廣泛使用的電腦平臺上。

  Apache源於NCSAhttpd伺服器,經過多次修改,成為世界上最流行的Web伺服器軟體之一。Apache取自“a patchy server”的讀音,意思是充滿補丁的伺服器,因為它是自由軟體,所以不斷有人來為它開發新的功能、新的特性、修改原來的缺陷。Apache的特點是簡單、速度快、性能穩定,並可做代理伺服器來使用。

  本來它只用於小型或試驗Internet網路,後來逐步擴充到各種Unix系統中,尤其對Linux的支持相當完美。Apache有多種產品,可以支持SSL技術,支持多個虛擬主機。Apache是以進程為基礎的結構,進程要比線程消耗更多的系統開支,不太適合於多處理器環境,因此,在一個Apache Web站點擴容時,通常是增加伺服器或擴充群集節點而不是增加處理器。到目前為止Apache仍然是世界上用的最多的Web伺服器市場占有率達60%左右。世界上很多著名的網站如Amazon.comYahoo!、W3 Consortium、Financial Times等都是Apache的產物,它的成功之處主要在於它的源代碼開放、有一支開放的開發隊伍、支持跨平臺的應用(可以運行在幾乎所有的Unix、 Windows、Linux系統平臺上)以及它的可移植性等方面。

  Apache的誕生極富有戲劇性。當NCSA WWW伺服器項目停頓後,那些使用NCSA WWW伺服器的人們開始交換他們用於該伺服器的補丁程式,他們也很快認識到成立管理這些補丁程式的論壇是必要的。就這樣,誕生了Apache Group,後來這個團體在NCSA的基礎上創建了Apache。

  Apache web伺服器軟體擁有以下特性:

  •   支持最新的HTTP/1.1通信協議
  •   擁有簡單而強有力的基於文件的配置過程
  •   支持通用網關介面
  •   支持基於IP和基於功能變數名稱的虛擬主機
  •   支持多種方式的HTTP認證
  •   集成Perl處理模塊
  •   集成代理伺服器模塊
  •   支持實時監視伺服器狀態和定製伺服器日誌
  •   支持伺服器端包含指令(SSI)
  •   支持安全Socket層(SSL)
  •   提供用戶會話過程的跟蹤
  •   支持FastCGI
  •   通過第三方模塊可以支持Java Servlets
  •   如果你準備選擇Web伺服器,毫無疑問Apache是你的最佳選擇。

What IS the Apache HTTP Server Project?

The Apache HTTP Server Project is a collaborative software development effort aimed at creating a robust, commercial-grade, featureful, and freely-available source code implementation of an HTTP (Web) server. The project is jointly managed by a group of volunteers located around the world, using the Internet and the Web to communicate, plan, and develop the server and its related documentation. This project is part of the Apache Software Foundation. In addition, hundreds of users have contributed ideas, code, and documentation to the project. This file is intended to briefly describe the history of the Apache HTTP Server and recognize the many contributors.

How Apache Came to Be

In February of 1995, the most popular server software on the Web was the public domain HTTP daemon developed by Rob McCool at the National Center for Supercomputing Applications, University of Illinois, Urbana-Champaign. However, development of that httpd had stalled after Rob left NCSA in mid-1994, and many webmasters had developed their own extensions and bug fixes that were in need of a common distribution. A small group of these webmasters, contacted via private e-mail, gathered together for the purpose of coordinating their changes (in the form of "patches"). Brian Behlendorf and Cliff Skolnick put together a mailing list, shared information space, and logins for the core developers on a machine in the California Bay Area, with bandwidth donated by HotWired. By the end of February, eight core contributors formed the foundation of the original Apache Group:

Brian Behlendorf Roy T. Fielding Rob Hartill David Robinson Cliff Skolnick Randy Terbush Robert S. Thau Andrew Wilson

with additional contributions from

Eric Hagberg Frank Peters Nicolas Pioch

Using NCSA httpd 1.3 as a base, we added all of the published bug fixes and worthwhile enhancements we could find, tested the result on our own servers, and made the first official public release (0.6.2) of the Apache server in April 1995. By coincidence, NCSA restarted their own development during the same period, and Brandon Long and Beth Frank of the NCSA Server Development Team joined the list in March as honorary members so that the two projects could share ideas and fixes.

The early Apache server was a big hit, but we all knew that the codebase needed a general overhaul and redesign. During May-June 1995, while Rob Hartill and the rest of the group focused on implementing new features for 0.7.x (like pre-forked child processes) and supporting the rapidly growing Apache user community, Robert Thau designed a new server architecture (code-named Shambhala) which included a modular structure and API for better extensibility, pool-based memory allocation, and an adaptive pre-forking process model. The group switched to this new server base in July and added the features from 0.7.x, resulting in Apache 0.8.8 (and its brethren) in August.

After extensive beta testing, many ports to obscure platforms, a new set of documentation (by David Robinson), and the addition of many features in the form of our standard modules, Apache 1.0 was released on December 1, 1995.

Less than a year after the group was formed, the Apache server passed NCSA's httpd as the #1 server on the Internet and according to the survey by Netcraft, it retains that position today.

In 1999, members of the Apache Group formed the Apache Software Foundation to provide organizational, legal, and financial support for the Apache HTTP Server. The foundation has placed the software on a solid footing for future development, and greatly expanded the number of Open Source software projects, which fall under this Foundation's umbrella.

Getting Involved

If you just want to send in an occasional suggestion/fix, then you can simply use the bug reporting form at <http://httpd.apache.org/bug_report.html>. You can also subscribe to the announcements mailing list (announce@httpd.apache.org) which we use to broadcast information about new releases, bugfixes, and upcoming events. There's a lot of information about the development process (much of it in serious need of updating) to be found at <http://httpd.apache.org/dev/>.

NOTE: The developer mailing list is NOT a user support forum; it is for people actively working on development of the server code. There is also a 'docs' subproject for those who are actively developing and translating the documentation. If you have user/configuration questions, subscribe to the Users list or try the USENET newsgroups "comp.infosystems.www.servers.unix" or "comp.infosystems.www.servers.ms-windows" (as appropriate for the platform you use).

Development

There is a core group of contributors, formed initially of the project founders, and augmented from time to time by other outstanding contributors. There are 'committers', who are granted access to the source code control respositories to help maintain the project or docs, and the core group now managing the project, which is called the Apache HTTP Project Management Committee (PMC, for short). In fact, each Apache Software Foundation project has its own PMC, to determine committers, project direction and overall management. The terms "The Apache Group" or "Apache Core" are no longer used.

The project is a meritocracy -- the more work you have done, the more you will be allowed to do. The group founders set the original rules, but they can be changed by vote of the active PMC members. There is a group of people who have logins on our server and access to the source code repositories. Everyone has read-only access to the repositories. Changes to the code are proposed on the mailing list and usually voted on by active members -- three +1 ('yes' votes) and no -1 ('no' votes, or vetoes) are needed to commit a code change during a release cycle; docs are usually committed first and then changed as needed, with conflicts resolved by majority vote.

Our primary method of communication is our mailing list. Approximately 40 messages a day flow over the list, and are typically very conversational in tone. We discuss new features to add, bug fixes, user problems, developments in the web server community, release dates, etc. The actual code development takes place on the developers' local machines, with proposed changes communicated using a patch (output of a unified "diff -u oldfile newfile" command), and then applied to the source code control repositories by one of the committers. Anyone on the mailing list can vote on a particular issue, but only those made by active members or people who are known to be experts on that part of the server are counted towards the requirements for committing. Vetoes must be accompanied by a convincing technical justification.

New members of the Apache HTTP Project Management Committee are added when a frequent contributor is nominated by one member and unanimously approved by the voting members. In most cases, this "new" member has been actively contributing to the group's work for over six months, so it's usually an easy decision.

The project guidelines continously evolve under the oversight of the PMC, as the membership of the group changes and our development/coordination tools improve.

Why Apache Software is Free

Apache Software exists to provide robust and commercial-grade reference implementations of many types of software. It must remain a platform upon which individuals and institutions can build reliable systems, both for experimental purposes and for mission-critical purposes. We believe that the tools of online publishing should be in the hands of everyone, and that software companies should make their money by providing value-added services such as specialized modules and support, amongst other things. We realize that it is often seen as an economic advantage for one company to "own" a market - in the software industry, that means to control tightly a particular conduit such that all others must pay for its use. This is typically done by "owning" the protocols through which companies conduct business, at the expense of all those other companies. To the extent that the protocols of the World Wide Web remain "unowned" by a single company, the Web will remain a level playing field for companies large and small. Thus, "ownership" of the protocols must be prevented. To this end, the existence of robust reference implementations of various protocols and application programming interfaces, available free to all companies and individuals, is a tremendously good thing.

Furthermore, the Apache Software Foundation is an organic entity; those who benefit from this software by using it, often contribute back to it by providing feature enhancements, bug fixes, and support for others in public lists and newsgroups. The effort expended by any particular individual is usually fairly light, but the resulting product is made very strong. These kinds of communities can only happen with freely available software -- when someone has paid for software, they usually aren't willing to fix its bugs for free. One can argue, then, that Apache's strength comes from the fact that it's free, and if it were made "not free" it would suffer tremendously, even if that money were spent on a real development team.

We want to see Apache Software used very widely -- by large companies, small companies, research institutions, schools, individuals, in the intranet environment, everywhere -- even though this may mean that companies who could afford commercial software, and would pay for it without blinking, might get a "free ride" by using Apache. We are even happy when some commercial software companies completely drop their own HTTP server development plans and use Apache as a base, with the proper attributions as described in the LICENSE. That is to say, the Apache HTTP Sever only comes from the Apache Software Foundation, but many vendors ship their own product "based on the Apache {Project}". There is no "{Vendor} Apache {Product}", this is an abuse of the Apache Software Foundation's marks.

本條目對我有幫助0
MBA智库APP

扫一扫,下载MBA智库APP

分享到:
  如果您認為本條目還有待完善,需要補充新內容或修改錯誤內容,請編輯條目投訴舉報

本条目由以下用户参与贡献

Dan,jane409,连晓雾,Yixi,方小莉,寒曦,刘维燎.

評論(共0條)

提示:評論內容為網友針對條目"Apache HTTP Server Project"展開的討論,與本站觀點立場無關。

發表評論請文明上網,理性發言並遵守有關規定。

打开APP

以上内容根据网友推荐自动排序生成

官方社群
下载APP

闽公网安备 35020302032707号