All Topics  
Apache HTTP Server

 

   Email Print
   Bookmark   Link






 

Apache HTTP Server



 
 
The Apache HTTP Server, commonly referred to simply as Apache , is a web server
Web server

The term web server can mean one of two things:# A computer program that is responsible for accepting Hypertext Transfer Protocol requests from clients , and Server them HTTP responses along with optional data contents, which usually are web pages such as Hypertext Markup Language documents and linked objects ....
 notable for playing a key role in the initial growth of the World Wide Web
World Wide Web

The World Wide Web is a very large set of interlinked hypertext documents accessed via the Internet. With a Web browser, one can view Web pages that may contain writing, s, videos, and other multimedia and navigate between them using hyperlinks....
. Apache was the first viable alternative to the Netscape Communications Corporation web server (currently known as Sun Java System Web Server
Sun Java System Web Server

Sun Java System Web Server is a web server designed for medium and large business applications. Sun Java System Web Server builds on the earlier Sun ONE Web Server, iPlanet Web Server, and Netscape Enterprise Server products....
), and has since evolved to rival other Unix
Unix

Unix is a computer operating system originally developed in 1969 by a group of American Telephone & Telegraph employees at Bell Labs, including Ken Thompson , Dennis Ritchie, Douglas McIlroy, and Joe Ossanna....
-based web servers in terms of functionality and performance. The majority of all web servers using Apache are Linux
Linux

Linux is a generic term referring to Unix-like computer operating systems based on the Linux kernel. Their development is one of the most prominent examples of free and open source software collaboration; typically all the underlying source code can be used, freely modified, and redistributed by anyone under the terms of the GNU GPL license...
 web servers.

Apache is developed and maintained by an open community of developers under the auspices of the Apache Software Foundation
Apache Software Foundation

The Apache Software Foundation is a non-profit corporation to support Apache software projects, including the Apache HTTP Server. The ASF was formed from the Apache Group and Delaware corporation, USA, in June 1999....
.






Discussion
Ask a question about 'Apache HTTP Server'
Start a new discussion about 'Apache HTTP Server'
Answer questions from other users
Full Discussion Forum



Encyclopedia


The Apache HTTP Server, commonly referred to simply as Apache , is a web server
Web server

The term web server can mean one of two things:# A computer program that is responsible for accepting Hypertext Transfer Protocol requests from clients , and Server them HTTP responses along with optional data contents, which usually are web pages such as Hypertext Markup Language documents and linked objects ....
 notable for playing a key role in the initial growth of the World Wide Web
World Wide Web

The World Wide Web is a very large set of interlinked hypertext documents accessed via the Internet. With a Web browser, one can view Web pages that may contain writing, s, videos, and other multimedia and navigate between them using hyperlinks....
. Apache was the first viable alternative to the Netscape Communications Corporation web server (currently known as Sun Java System Web Server
Sun Java System Web Server

Sun Java System Web Server is a web server designed for medium and large business applications. Sun Java System Web Server builds on the earlier Sun ONE Web Server, iPlanet Web Server, and Netscape Enterprise Server products....
), and has since evolved to rival other Unix
Unix

Unix is a computer operating system originally developed in 1969 by a group of American Telephone & Telegraph employees at Bell Labs, including Ken Thompson , Dennis Ritchie, Douglas McIlroy, and Joe Ossanna....
-based web servers in terms of functionality and performance. The majority of all web servers using Apache are Linux
Linux

Linux is a generic term referring to Unix-like computer operating systems based on the Linux kernel. Their development is one of the most prominent examples of free and open source software collaboration; typically all the underlying source code can be used, freely modified, and redistributed by anyone under the terms of the GNU GPL license...
 web servers.

Apache is developed and maintained by an open community of developers under the auspices of the Apache Software Foundation
Apache Software Foundation

The Apache Software Foundation is a non-profit corporation to support Apache software projects, including the Apache HTTP Server. The ASF was formed from the Apache Group and Delaware corporation, USA, in June 1999....
. The application is available for a wide variety of operating system
Operating system

An operating system is an interface between hardware and applications; it is responsible for the management and coordination of activities and the sharing of the limited resources of the computer....
s, including Unix
Unix

Unix is a computer operating system originally developed in 1969 by a group of American Telephone & Telegraph employees at Bell Labs, including Ken Thompson , Dennis Ritchie, Douglas McIlroy, and Joe Ossanna....
, GNU
GNU

GNU is a computer operating system composed entirely of free software. Its name is a recursive acronym for GNU's Not Unix; it was chosen because its design is Unix-like, but differs from Unix by being free software and containing no Unix code....
, FreeBSD
FreeBSD

FreeBSD is a Unix-like free software operating system descended from AT&T Unix via the Berkeley Software Distribution branch through the 386BSD and Berkeley Software Distribution#4.4BSD and descendants operating systems....
, Linux
Linux

Linux is a generic term referring to Unix-like computer operating systems based on the Linux kernel. Their development is one of the most prominent examples of free and open source software collaboration; typically all the underlying source code can be used, freely modified, and redistributed by anyone under the terms of the GNU GPL license...
, Solaris, Novell NetWare
Novell NetWare

NetWare is a network operating system developed by Novell, Inc. It initially used cooperative multitasking to run various services on a personal computer, and the network protocols were based on the archetypal Xerox Xerox Network Services Protocol stack....
, Mac OS X
Mac OS X

Mac OS X is a line of computer operating systems developed, marketed, and sold by Apple Inc., and since 2002 has been included with all new Macintosh computer systems....
, Microsoft Windows
Microsoft Windows

Microsoft Windows is a series of software operating systems and graphical user interfaces produced by Microsoft. Microsoft first introduced an operating environment named Windows in November 1985 as an add-on to MS-DOS in response to the growing interest in graphical user interfaces ....
, OS/2
OS/2

OS/2 is a computer operating system, initially created by Microsoft and IBM, then later developed by IBM exclusively. The name stands for "Operating System/2," because it was introduced as part of the same generation change release as IBM's "IBM Personal System/2 " line of second-generation personal computers....
, TPF
Transaction Processing Facility

TPF is an International Business Machines real-time operating system for IBM mainframe descended from the IBM System/360 family, including zSeries and ZSeries....
, and eComStation
EComStation

eComStation is a PC operating system based on OS/2, published by Serenity Systems, USA. It includes several additions and accompanying software....
. Released under the Apache License
Apache License

The Apache License is a free-software license authored by the Apache Software Foundation . The Apache License requires preservation of the copyright notice and disclaimer, but it is not a copyleft license — it allows use of the source code for the development of free software and open source software as well as proprietary software....
, Apache is characterized as free software
Free software

Free Software or software libre is software that can be used, studied, and modified without restriction, and which can be copied and redistributed in modified or unmodified form either without restriction, or with minimal restrictions only to ensure that further recipients can also do these things and to prevent consumer-facing hardware...
 and open source software.

Since April 1996 Apache has been the most popular HTTP server on the World Wide Web
World Wide Web

The World Wide Web is a very large set of interlinked hypertext documents accessed via the Internet. With a Web browser, one can view Web pages that may contain writing, s, videos, and other multimedia and navigate between them using hyperlinks....
. Apache served over 49% of all website
Website

A Web site is a collection of related Web pages, images, videos or other digital assets that are hosted on one Web server, usually accessible via the Internet....
s.

History and name


The first version of the Apache web server was created by Robert McCool
Robert McCool

Robert M. McCool , more commonly known as Rob McCool, is a software developer and architect.McCool was the author of the original NCSA HTTPd web server, later known as the Apache HTTP Server, and until Apache version 2.2, [] files as distributed contain comments signed with his name....
, who was heavily involved with the National Center for Supercomputing Applications
National Center for Supercomputing Applications

The National Center for Supercomputing Applications is a state-federal partnership to develop and deploy national-scale cyberinfrastructure that advances science and engineering....
 web server, known simply as NCSA HTTPd
NCSA HTTPd

The NCSA HTTPd was a web server originally developed at the National Center for Supercomputing Applications by Robert McCool and . It was among the earliest web servers developed, following Tim Berners-Lee's CERN HTTPd, Tony Sanders' Plexus server, and some others....
. When McCool left NCSA in mid-1994, the development of httpd stalled, leaving a variety of patches for improvements circulating through e-mails. These patches were provided by a number of other developers besides McCool: Brian Behlendorf
Brian Behlendorf

Brian Behlendorf is a technologist, computer programmer, and an important figure in the open-source software movement. He was a primary developer of the Apache HTTP server, the most popular web server software on the Internet, and a founding member of the Apache Group, which later became the Apache Software Foundation....
, Roy Fielding
Roy Fielding

Roy Thomas Fielding is an United States of American computer scientist. He is one of the principal authors of the [] specification , and a frequently-cited authority on computer network architecture....
, Rob Hartill
Rob Hartill

Robert Hartill is a computer programmer and web designer best known for his work on the Internet Movie Database website and the Apache HTTP Server web server....
, David Robinson, Cliff Skolnick, Randy Terbush, Robert S. Thau, Andrew Wilson, Eric Hagberg, Frank Peters and Nicolas Pioch, and they thus helped to form the original "Apache Group".

There have been two explanations of the project's name. According to the Apache Foundation, the name was chosen out of respect for the Native American
Native Americans in the United States

Native Americans in the United States are the Indigenous peoples of the Americas from the regions of North America now encompassed by the continental United States United States, including parts of Alaska and the island state of Hawaii....
 tribe of Apache
Apache

Apache is the collective term for several culturally related groups of Native Americans in the United States. These indigenous peoples of North America speak a Southern Athabaskan languages language, and are related linguistically to the languages of Athabaskan speakers of Alaska and western Canada....
 (Indé), well-known for their endurance and their skills in warfare. However, the original FAQ on the Apache Server project's website, from 1996 to 2001, claimed that "The result after combining [the NCSA httpd patches] was a patchy server. The first explanation was supported at an Apache Conference and in an interview in 2000 by Brian Behlendorf
Brian Behlendorf

Brian Behlendorf is a technologist, computer programmer, and an important figure in the open-source software movement. He was a primary developer of the Apache HTTP server, the most popular web server software on the Internet, and a founding member of the Apache Group, which later became the Apache Software Foundation....
, who said that the name connoted "Take no prisoners. Be kind of aggressive and kick some ass". Behlendorf then contradicted this in a 2007 interview, stating that "The Apache server isn't named in honor of Geronimo's tribe" but that so many revisions were sent in that "the group called it 'a patchy Web server'". Both explanations are probably appropriate though the pun explanation has fallen into disfavor.

Version 2 of the Apache server was a substantial re-write
Rewrite (programming)

A rewrite in computer programming is the act or result of re-implementing a large portion of existing functionality without re-use of its source code....
 of much of the Apache 1.x code, with a strong focus on further modularization and the development of a portability layer, the Apache Portable Runtime
Apache Portable Runtime

The Apache Portable Runtime is a supporting library for the Apache HTTP Server web server. It provides a set of APIs that map to the underlying operating system....
. The Apache 2.x core has several major enhancements over Apache 1.x. These include UNIX threading
Thread (computer science)

In computer science, a thread of execution is a Fork of a computer program into two or more Concurrency running task s. The implementation of threads and process es differs from one operating system to another, but in most cases, a thread is contained inside a process....
, better support for non-Unix platforms (such as Microsoft Windows), a new Apache API
Application programming interface

An application programming interface is a set of subroutine, data structures, class and/or Protocol provided by library and/or operating system Service s in order to support the building of applications....
, and IPv6
IPv6

Internet Protocol version 6 is the next-generation Internet layer protocol for packet -switched internetworking and the Internet. IPv4 is the dominant Internet Protocol version, and was the first to receive widespread use....
 support. The first alpha release of Apache 2 was in March 2000, with the first general availability release on April 6, 2002.

Version 2.2 introduced a more flexible authorization API. It also features improved cache modules and proxy modules.

Features

Apache supports a variety of features, many implemented as compiled modules which extend the core functionality. These can range from server-side programming language support to authentication schemes. Some common language interfaces support mod_perl
Mod perl

mod_perl is an optional module for the Apache HTTP server. It embeds a Perl Interpreter into the Apache server, so that dynamic content produced by Perl Scripting language can be served in response to incoming requests, without the significant overhead of re-launching the Perl interpreter for each request....
, mod_python
Mod python

mod_python is an Apache HTTP Server module that integrates the Python into the Apache server. It is intended to replace Common Gateway Interface as a method of executing Python scripts on a web server....
, Tcl
Tcl

Tcl is a scripting language created by John Ousterhout. Originally "born out of frustration"?according to the author?with programmers devising their own languages intended to be embedded into applications, Tcl quickly gained wide acceptance on its own and is generally thought to be easy to learn, but powerful in competent hands....
, and PHP
PHP

PHP is a scripting language originally designed for producing dynamic web pages. It has evolved to include a command line interface capability and can be used in Standalone software Graphical user interface....
. Popular authentication modules include mod_access, mod_auth, mod_digest, and mod_auth_digest, the successor to mod_digest. A sample of other features include SSL and TLS
Transport Layer Security

Transport Layer Security and its predecessor, Secure Sockets Layer , are cryptographic protocols that provide security and data integrity for communications over Internet Protocol Suite networks such as the Internet....
 support (mod_ssl), a proxy
Proxy server

In computer networks, a proxy server is a server that acts as a go-between for requests from client seeking resources from other servers. A client connects to the proxy server, requesting some service, such as a file, connection, web page, or other resource, available from a different server....
 module, a URL rewriter (also known as a rewrite engine
Rewrite engine

A rewrite engine is software that modifies a web Uniform Resource Locator's appearance . Rewritten URL's are used to provide shorter and more relevant-looking links to web pages....
, implemented under mod_rewrite), custom log files (mod_log_config), and filtering support (mod_include and mod_ext_filter).

Popular compression methods on Apache include the external extension module, mod_gzip, implemented to help with reduction of the size (weight) of web pages served over HTTP. Apache logs can be analyzed through a web browser using free scripts such as AWStats
AWStats

AWStats is an open source Web analytics reporting tool, suitable for analyzing Server log from Internet services such as web server, streaming media, mail server and File Transfer Protocol servers....
/W3Perl
W3Perl

W3Perl is a Free software logfile analyser, which canparse Web/FTP/Mail or Squid files. Most major web logfile formats aresupported , as well as split/compressed files....
 or Visitors
Visitors (program)

Visitors is a minimalistic HTTP server log analysis program written in C. It does not require any configuration or write access to the filesystem....
.

Virtual hosting
Virtual hosting

Virtual hosting is a method that Server s such as web servers use to host more than one domain name on the same computer, sometimes on the same IP address....
 allows one Apache installation to serve many different actual websites. For example, one machine, with one Apache installation could simultaneously serve www.example.com, www.test.com, test47.test-server.test.com, etc.

Apache features configurable error messages, DBMS
Database management system

A database management system is computer software that manages databases. DBMSes may use any of a variety of database models, such as the network model or relational model....
-based authentication databases, and content negotiation
Content negotiation

Content negotiation is a mechanism defined in the [] specification that makes it possible to serve different versions of a document at the same Uniform Resource Identifier, so that user agents can specify which version fit their capabilities the best....
. It is also supported by several graphical user interface
Graphical user interface

A graphical user interface is a type of user interface which allows people to human-computer interaction such as computers; hand-held devices such as MP3 Players, Portable Media Players or Gaming devices; household appliances and office equipment....
s (GUIs).

Use


Apache is primarily used to serve both static content and dynamic Web page
Dynamic web page

Classical hypertext navigation occurs among "static" documents, and, for "web users," this experience is reproduced using static web pages. However, Web browser can also provide an "interactive experience" that is termed "dynamic." Content on a web page can change, in response to different contexts or conditions....
s on the World Wide Web. Many web application
Web application

In software engineering, a web application or webapp is an Application software that is accessed via web browser over a network such as the Internet or an intranet....
s are designed expecting the environment and features that Apache provides.

Apache is the web server component of the popular LAMP
LAMP (software bundle)

The acronym LAMP refers to a solution stack of software, usually free and open source software, used to run dynamic Web sites or Server s. The original expansion is as follows:...
 web server application stack, alongside MySQL
MySQL

MySQL is a relational database management system which has more than 11 million installations. The program runs as a server providing multi-user access to a number of databases....
, and the PHP
PHP

PHP is a scripting language originally designed for producing dynamic web pages. It has evolved to include a command line interface capability and can be used in Standalone software Graphical user interface....
/Perl
Perl

In computer programming, Perl is a high-level programming language, List of programming languages by category, Interpreter , dynamic programming language....
/Python
Python (programming language)

Python is a general-purpose high-level programming language. Its design philosophy emphasizes code readability. Python's core syntax and semantics are Minimalism , while the standard library is large and comprehensive....
 (and now also Ruby) programming languages.

Apache is redistributed as part of various proprietary software packages including the Oracle Database
Oracle database

The Oracle Database consists of a relational database management system produced and marketed by Oracle Corporation. , Oracle had become a major presence in database computing....
 or the IBM WebSphere application server
Application server

An application server, in an Multitier architecture, is a server that hosts an Application programming interface to expose business logic and business processes for use by third-party Business software....
. Mac OS X integrates Apache as its built-in web server and as support for its WebObjects
WebObjects

WebObjects is a Java platform web application server from Apple Inc., and a web application framework that runs on the server. It is available, at no additional cost, as part of the Xcode included with Apple's Mac OS X operating system....
 application server. It is also supported in some way by Borland
Borland

Borland Software Corporation is a Computer software company headquartered in Austin, Texas. It was founded in 1983 by Niels Jensen, Ole Henriksen, Mogens Glad and Philippe Kahn....
 in the Kylix
Kylix programming tool

Kylix is a compiler and integrated development environment formerly sold by Borland but later discontinued. It is a Linux version of the Borland Delphi programming language and C++ Builder, which run under Microsoft Windows....
 and Delphi
Borland Delphi

Delphi is a software development environment for Microsoft Windows applications. It has always supported development of native Windows applications in the Delphi programming language, a further development of Object Pascal....
 development tools. Apache is included with Novell NetWare
Novell NetWare

NetWare is a network operating system developed by Novell, Inc. It initially used cooperative multitasking to run various services on a personal computer, and the network protocols were based on the archetypal Xerox Xerox Network Services Protocol stack....
 6.5, where it is the default web server. Apache is also included with many Linux distributions.

Apache is used for many other tasks where content needs to be made available in a secure and reliable way. One example is sharing files from a personal computer over the Internet. A user who has Apache installed on their desktop can put arbitrary files in the Apache's document root which can then be shared.

Programmers developing web applications often use a locally installed version of Apache in order to preview and test code as it is being developed.

Microsoft Internet Information Services
Internet Information Services

Internet Information Services - formerly called Internet Information Server - is a set of Internet-based services for servers created by Microsoft for use with Microsoft Windows....
 (IIS) is the main competitor to Apache, trailed by Sun Microsystems
Sun Microsystems

Sun Microsystems, Inc. is a multinational corporation vendor of computers, computer components, computer software, and information technology services, founded on February 24, 1982....
' Sun Java System Web Server
Sun Java System Web Server

Sun Java System Web Server is a web server designed for medium and large business applications. Sun Java System Web Server builds on the earlier Sun ONE Web Server, iPlanet Web Server, and Netscape Enterprise Server products....
 and a host of other applications such as Zeus Web Server
Zeus Web Server

Zeus Web Server is a web server for Unix and Unix-like platforms . Support for AIX, Tru64, and Mac OS X was dropped on 10 June 2008.It is developed by Zeus Technology, a software company located in Cambridge, England....
. Some of the biggest web sites in the world are run using Apache. Google
Google

Google Inc. is an United States public company, earning revenue from AdWords related to its Google search, Gmail, Google Maps, Google Apps, Orkut, and YouTube services as well as selling advertising-free versions of the Google Search Appliance....
's search engine front end is based on a modified version of Apache, named Google Web Server (GWS). Several Wikimedia projects also run on Apache servers.

License


The software license under which software from the Apache Foundation is distributed is a distinctive part of the Apache HTTP Server's history and presence in the open source software community. The Apache License allows for the distribution of both open and closed source
Closed source

Closed source is a term for software whose software license does not allow for the release or distribution of the software's source code. Generally, it means only the binary file of a computer program are distributed and the license provides no access to the program's source code....
 derivation
Fork (software development)

In software engineering, a project fork happens when developers take a copy of source code from one Computer software and start independent development on it, creating a distinct piece of software....
s of the source code.

The Free Software Foundation
Free Software Foundation

The Free Software Foundation is a non-profit corporation founded by Richard Stallman on 4 October 1985 to support the free software movement, a copyleft-based movement which aims to promote the universal freedom to distribute and modify computer software without restriction....
 does not consider the Apache License to be compatible with version 2 of the GNU General Public License
GNU General Public License

The GNU General Public License is a widely used free software license, originally written by Richard Stallman for the GNU project. The GPL is the most popular and well-known example of the type of strong copyleft license that requires derived works to be available under the same copyleft....
 (GPL) in that software licensed under the Apache License cannot be integrated with software that is distributed under the GPL:

However, version 3 of the GPL includes a provision (Section 7e) which allows it to be compatible with licenses that have patent retaliation clauses, including the Apache License.

The name Apache is a registered trademark
TradeMark

TradeMark is a tall, primarily residential, skyscraper in Charlotte, North Carolina. It was completed in 2007 and has 28 floors. There are 200 hundred residential units....
 and may only be used with the trademark holder's express permission.

See also


  • .htaccess
    .htaccess

    In several web servers , .htaccess is the default name of directory -level configuration files that allow for decentralized management of configuration when placed inside the web tree....
  • ApacheBench
    ApacheBench

    ApacheBench is a command line computer program for Web server benchmarking of HyperText Transfer Protocol web servers, in particular the Apache HTTP Server....
  • Comparison of web servers
    Comparison of web servers

    This article is a comparison of Web servers....
  • LAMP (software bundle)
    LAMP (software bundle)

    The acronym LAMP refers to a solution stack of software, usually free and open source software, used to run dynamic Web sites or Server s. The original expansion is as follows:...
  • POSSE project
    POSSE project

    The Portable Open Source Security Elements, or POSSE project, was a co-operative venture between the University of Pennsylvania Distributed Systems Laboratory, the OpenBSD project and others....
  • Stronghold (software)
    Stronghold (software)

    Stronghold was a fork of the Apache HTTP Server, which included the Secure Socket Layer software to enable https.Stronghold was created by C2Net, which was eventually purchased by Red Hat....
  • XAMPP
    XAMPP

    XAMPP is a free software cross-platform web server package, consisting mainly of the Apache HTTP Server, MySQL database, and interpreter for scripts written in the PHP and Perl programming languages....


External links