Apache
Apache Software Foundation "highly decentralized community of developers"
from the faq on their website:
"Why was the Apache Software Foundation created?
The Foundation was formed primarily to
a. provide a foundation for open, collaborative software development
projects by supplying hardware, communication, and business
infrastructure;
b. create an independent legal entity to which companies and individuals can
donate resources and be assured that those resources will be used for the
public benefit;
c. provide a means for individual volunteers to be sheltered from legal
suits directed at the Foundation's projects; and,
d. protect the 'Apache' brand, as applied to its software products, from
being abused by other organizations.
Is the Apache Software Foundation (ASF) a Corporation?
Yes, the ASF is a membership-based corporation registered in Delaware, United
States. It is intended to be a registered non-profit charity, and in fact was
given 501(c)(3) status by the U.S. Internal Revenue Service. However, even if
something happens that changes that status, the ASF is still a not-for-profit
enterprise."
open source HTTP server - httpd
others
Ant - java based build tool - like make
APR - Apache Portable Runtime Project - free library of cross platform data structures a
nd routines in C
lots of java, web development, and database related frameworks
Apache HTTP Server Project
from httpd.apache.org:
"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."
History:
February 1995 most popular server software was public domain httpd by Rob McCool at the
National Center for Supercomputing Applications, University of Illinois, Urbana-Champaig
n.
development stalled after Rob left NCSA in 1994
many webmasters had developed their own extensions and bugfixes in need of common distri
bution.
small group gathered together to coordinate changes.
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
NCSA httpd 1.3 base added all of the published bug fixes and worthwhile enhancements cou
ld find, tested the result on own servers
first official public release (0.6.2) of the Apache server in April 1995.
NCSA restarted their own development, joined the list in March as honorary members so th
at the two projects could share ideas and fixes.
Less than a year after the group was formed, the Apache server passed NCSA's httpd as th
e #1 server on the Internet and according to the survey by Netcraft, it retains that pos
ition today.
In 1999, members of the Apache Group formed the Apache Software Foundation to provide or
ganizational, legal, and financial support for the Apache HTTP Server. The foundation ha
s placed the software on a solid footing for future development, and greatly expanded th
e number of Open Source software projects, which fall under this Foundation's umbrella.
HTTP:
from wikipedia
HTTP is a request/response protocol between clients and servers. The
originating client, such as a web browser, spider, or other end-user tool, is
referred to as the user agent. The destination server, which stores or creates
resources such as HTML files and images, is called the origin server. Inbetween
the user agent and origin server may be several intermediaries, such as
proxies, gateways, and tunnels.
A HTTP client initiates a request by establishing a Transmission Control
Protocol (TCP) connection to a particular port on a remote host (port 80 by
default; see List of well-known ports (computing)). A HTTP server listening on
that port waits for the client to send a Request Message.
Upon receiving the request, the server sends back a status line, such as
"HTTP/1.1 200 OK", and a message of its own, the body of which is perhaps the
requested file, an error message, or some other information.
Request methods
HTTP defines eight methods indicating the desired action to be performed on theidentifie
d resource.
* GET - Requests a representation of the specified resource. By far the most
common method used on the Web today.
* HEAD - Asks for the response identical to the one that would correspond to a GET reque
st, but without the response body. This is useful for retrieving meta-information writte
n in response headers, without having to transport the entire content.
* POST - Submits user data (e.g. from a HTML form) to the identified resource. The data
is included in the body of the request.
* PUT - Uploads a representation of the specified resource.
* DELETE - Deletes the specified resource (rarely implemented).
* TRACE - Echoes back the received request, so that a client can see what intermediate s
ervers are adding or changing in the request.
* OPTIONS - Returns the HTTP methods that the server supports. This can be used to check
the functionality of a web server.
* CONNECT - For use with a proxy that can change to being an SSL tunnel.
HTTP servers are supposed to implement at least GET and HEAD methods and, whenever possi
ble, also OPTIONS method.
- telnet cs0.bennington.edu 80
- GET index.html HTTP/1.0
- (a blank line)