Commit 151bbd3e authored by No Author's avatar No Author
Browse files

This commit was manufactured by cvs2svn to create branch

'unlabeled-1.11.2'.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/unlabeled-1.11.2@78247 13f79535-47bb-0310-9956-ffa450edef68
parent 1f599711
Loading
Loading
Loading
Loading

docs/docroot/apache_pb.gif

deleted100644 → 0
−2.27 KiB
Loading image diff...

docs/manual/LICENSE

deleted100644 → 0
+0 −54
Original line number Diff line number Diff line
/* ====================================================================
 * Copyright (c) 1995-1997 The Apache Group.  All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions
 * are met:
 *
 * 1. Redistributions of source code must retain the above copyright
 *    notice, this list of conditions and the following disclaimer. 
 *
 * 2. Redistributions in binary form must reproduce the above copyright
 *    notice, this list of conditions and the following disclaimer in
 *    the documentation and/or other materials provided with the
 *    distribution.
 *
 * 3. All advertising materials mentioning features or use of this
 *    software must display the following acknowledgment:
 *    "This product includes software developed by the Apache Group
 *    for use in the Apache HTTP server project (http://www.apache.org/)."
 *
 * 4. The names "Apache Server" and "Apache Group" must not be used to
 *    endorse or promote products derived from this software without
 *    prior written permission.
 *
 * 5. Redistributions of any form whatsoever must retain the following
 *    acknowledgment:
 *    "This product includes software developed by the Apache Group
 *    for use in the Apache HTTP server project (http://www.apache.org/)."
 *
 * THIS SOFTWARE IS PROVIDED BY THE APACHE GROUP ``AS IS'' AND ANY
 * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
 * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE APACHE GROUP OR
 * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
 * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
 * OF THE POSSIBILITY OF SUCH DAMAGE.
 * ====================================================================
 *
 * This software consists of voluntary contributions made by many
 * individuals on behalf of the Apache Group and was originally based
 * on public domain software written at the National Center for
 * Supercomputing Applications, University of Illinois, Urbana-Champaign.
 * For more information on the Apache Group and the Apache HTTP server
 * project, please see <http://www.apache.org/>.
 *
 */


docs/manual/bind.html

deleted100644 → 0
+0 −109
Original line number Diff line number Diff line
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<html><head>
<title>Setting which addresses and ports Apache uses</title>
</head>

<!-- Background white, links blue (unvisited), navy (visited), red (active) -->
<BODY
 BGCOLOR="#FFFFFF"
 TEXT="#000000"
 LINK="#0000FF"
 VLINK="#000080"
 ALINK="#FF0000"
>
<!--#include virtual="header.html" -->
<h1 ALIGN="CENTER">Setting which addresses and ports Apache uses</h1>

<hr>

When Apache starts, it connects to some port and address on the
local machine and waits for incoming requests. By default, it
listens to all addresses on the machine, and to the port
as specified by the <tt>Port</tt> directive in the server configuration.
However, it can be told to listen to more the one port, or to listen
to only selected addresses, or a combination. This is often combined
with the Virtual Host feature which determines how Apache
responds to different IP addresses, hostnames and ports.<p>

There are two directives used to restrict or specify which addresses
and ports Apache listens to.

<ul>
<li><a href="#bindaddress">BindAddress</a> is used to restrict the server to listening to
  a single address, and can be used to permit multiple Apache servers
  on the same machine listening to different IP addresses.
<li><a href="#listen">Listen</a> can be used to make a single Apache server listen
  to more than one address and/or port.
</ul>

<h3><a name="bindaddress">BindAddress</a></h3>
<strong>Syntax:</strong> BindAddress <em>[ * | IP-address | hostname ]</em><br>
<strong>Default:</strong> <code>BindAddress *</code><br>
<strong>Context:</strong> server config<br>
<strong>Status:</strong> Core<p>

Makes the server listen to just the specified address. If the argument
is *, the server listens to all addresses. The port listened to
is set with the <tt>Port</tt> directive. Only one BindAddress
should be used.

<h3><a name="listen">Listen</a></h3>
<strong>Syntax:</strong> Listen <em>[ port | IP-address:port ]</em><br>
<strong>Default:</strong> <code>none</code><br>
<strong>Context:</strong> server config<br>
<strong>Status:</strong> Core<p>

<tt>Listen</tt> can be used instead of <tt>BindAddress</tt> and
<tt>Port</tt>. It tells the server to accept incoming requests on the
specified port or address-and-port combination. If the first format is
used, with a port number only, the server listens to the given port on
all interfaces, instead of the port given by the <tt>Port</tt>
directive. If an IP address is given as well as a port, the server
will listen on the given port and interface.  <p> Multiple Listen
directives may be used to specify a number of addresses and ports to
listen to. The server will respond to requests from any of the listed
addresses and ports.<p>

For example, to make the server accept connections on both port
80 and port 8000, use:
<pre>
   Listen 80
   Listen 8000
</pre>

To make the server accept connections on two specified
interfaces and port numbers, use
<pre>
   Listen 192.170.2.1:80
   Listen 192.170.2.5:8000
</pre>

<h2>How this works with Virtual Hosts</h2>

BindAddress and Listen do not implement Virtual Hosts. They tell the
main server what addresses and ports to listen to.  If no
&lt;VirtualHost&gt; directives are used, the server will behave the
same for all accepted requests. However, &lt;VirtualHost&gt; can be
used to specify a different behavior for one or more of the addresses
and ports. To implement a VirtualHost, the server must first be told
to listen to the address and port to be used. Then a
&lt;VirtualHost&gt; section should be created for a specified address
and port to set the behavior of this virtual host. Note that if the
&lt;VirtualHost&gt; is set for an address and port that the server is
not listening to, it cannot be accessed.

<h2>See also</h2>

See also the documentation on
<a href="virtual-host.html">Virtual Hosts</a>,
<a href="host.html">Non-IP virtual hosts</a>,
<a href="mod/core.html#bindaddress">BindAddress directive</a>,
<a href="mod/core.html#port">Port directive</a>,
<a href="dns-caveats.html">DNS Issues</a>
and
<a href="mod/core.html#virtualhost">&lt;VirtualHost&gt; section</a>.

<!--#include virtual="footer.html" -->
</BODY>
</HTML>

docs/manual/bind.html.en

deleted100644 → 0
+0 −109
Original line number Diff line number Diff line
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<html><head>
<title>Setting which addresses and ports Apache uses</title>
</head>

<!-- Background white, links blue (unvisited), navy (visited), red (active) -->
<BODY
 BGCOLOR="#FFFFFF"
 TEXT="#000000"
 LINK="#0000FF"
 VLINK="#000080"
 ALINK="#FF0000"
>
<!--#include virtual="header.html" -->
<h1 ALIGN="CENTER">Setting which addresses and ports Apache uses</h1>

<hr>

When Apache starts, it connects to some port and address on the
local machine and waits for incoming requests. By default, it
listens to all addresses on the machine, and to the port
as specified by the <tt>Port</tt> directive in the server configuration.
However, it can be told to listen to more the one port, or to listen
to only selected addresses, or a combination. This is often combined
with the Virtual Host feature which determines how Apache
responds to different IP addresses, hostnames and ports.<p>

There are two directives used to restrict or specify which addresses
and ports Apache listens to.

<ul>
<li><a href="#bindaddress">BindAddress</a> is used to restrict the server to listening to
  a single address, and can be used to permit multiple Apache servers
  on the same machine listening to different IP addresses.
<li><a href="#listen">Listen</a> can be used to make a single Apache server listen
  to more than one address and/or port.
</ul>

<h3><a name="bindaddress">BindAddress</a></h3>
<strong>Syntax:</strong> BindAddress <em>[ * | IP-address | hostname ]</em><br>
<strong>Default:</strong> <code>BindAddress *</code><br>
<strong>Context:</strong> server config<br>
<strong>Status:</strong> Core<p>

Makes the server listen to just the specified address. If the argument
is *, the server listens to all addresses. The port listened to
is set with the <tt>Port</tt> directive. Only one BindAddress
should be used.

<h3><a name="listen">Listen</a></h3>
<strong>Syntax:</strong> Listen <em>[ port | IP-address:port ]</em><br>
<strong>Default:</strong> <code>none</code><br>
<strong>Context:</strong> server config<br>
<strong>Status:</strong> Core<p>

<tt>Listen</tt> can be used instead of <tt>BindAddress</tt> and
<tt>Port</tt>. It tells the server to accept incoming requests on the
specified port or address-and-port combination. If the first format is
used, with a port number only, the server listens to the given port on
all interfaces, instead of the port given by the <tt>Port</tt>
directive. If an IP address is given as well as a port, the server
will listen on the given port and interface.  <p> Multiple Listen
directives may be used to specify a number of addresses and ports to
listen to. The server will respond to requests from any of the listed
addresses and ports.<p>

For example, to make the server accept connections on both port
80 and port 8000, use:
<pre>
   Listen 80
   Listen 8000
</pre>

To make the server accept connections on two specified
interfaces and port numbers, use
<pre>
   Listen 192.170.2.1:80
   Listen 192.170.2.5:8000
</pre>

<h2>How this works with Virtual Hosts</h2>

BindAddress and Listen do not implement Virtual Hosts. They tell the
main server what addresses and ports to listen to.  If no
&lt;VirtualHost&gt; directives are used, the server will behave the
same for all accepted requests. However, &lt;VirtualHost&gt; can be
used to specify a different behavior for one or more of the addresses
and ports. To implement a VirtualHost, the server must first be told
to listen to the address and port to be used. Then a
&lt;VirtualHost&gt; section should be created for a specified address
and port to set the behavior of this virtual host. Note that if the
&lt;VirtualHost&gt; is set for an address and port that the server is
not listening to, it cannot be accessed.

<h2>See also</h2>

See also the documentation on
<a href="virtual-host.html">Virtual Hosts</a>,
<a href="host.html">Non-IP virtual hosts</a>,
<a href="mod/core.html#bindaddress">BindAddress directive</a>,
<a href="mod/core.html#port">Port directive</a>,
<a href="dns-caveats.html">DNS Issues</a>
and
<a href="mod/core.html#virtualhost">&lt;VirtualHost&gt; section</a>.

<!--#include virtual="footer.html" -->
</BODY>
</HTML>

docs/manual/cgi_path.html

deleted100644 → 0
+0 −93
Original line number Diff line number Diff line
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<html><head>
<title>PATH_INFO Changes in the CGI Environment</title>
</head>

<!-- Background white, links blue (unvisited), navy (visited), red (active) -->
<BODY
 BGCOLOR="#FFFFFF"
 TEXT="#000000"
 LINK="#0000FF"
 VLINK="#000080"
 ALINK="#FF0000"
>
<!--#include virtual="header.html" -->
<h1 ALIGN="CENTER">PATH_INFO Changes in the CGI Environment</h1>

<hr>

<h2><a name="over">Overview</a></h2>

<p>As implemented in Apache 1.1.1 and earlier versions, the method
Apache used to create PATH_INFO in the CGI environment was
counterintuitive, and could result in crashes in certain cases. In
Apache 1.2 and beyond, this behavior has changed. Although this
results in some compatibility problems with certain legacy CGI
applications, the Apache 1.2 behavior is still compatible with the
CGI/1.1 specification, and CGI scripts can be easily modified (<a
href="#compat">see below</a>).

<h2><a name="prob">The Problem</a></h2>

<p>Apache 1.1.1 and earlier implemented the PATH_INFO and SCRIPT_NAME
environment variables by looking at the filename, not the URL. While
this resulted in the correct values in many cases, when the filesystem
path was overloaded to contain path information, it could result in
errant behavior. For example, if the following appeared in a config
file:
<pre>
     Alias /cgi-ralph /usr/local/httpd/cgi-bin/user.cgi/ralph
</pre>
<p>In this case, <code>user.cgi</code> is the CGI script, the "/ralph"
is information to be passed onto the CGI. If this configuration was in
place, and a request came for "<code>/cgi-ralph/script/</code>", the
code would set PATH_INFO to "<code>/ralph/script</code>", and
SCRIPT_NAME to "<code>/cgi-</code>". Obviously, the latter is
incorrect. In certain cases, this could even cause the server to
crash.</p>

<h2><a name="solution">The Solution</a></h2>

<p>Apache 1.2 and later now determine SCRIPT_NAME and PATH_INFO by
looking directly at the URL, and determining how much of the URL is
client-modifiable, and setting PATH_INFO to it. To use the above
example, PATH_INFO would be set to "<code>/script</code>", and
SCRIPT_NAME to "<code>/cgi-ralph</code>". This makes sense and results
in no server behavior problems. It also permits the script to be
guaranteed that
"<code>http://$SERVER_NAME:$SERVER_PORT$SCRIPT_NAME$PATH_INFO</code>"
will always be an accessible URL that points to the current script,
something which was not necessarily true with previous versions of
Apache.

<p>However, the "<code>/ralph</code>"
information from the <code>Alias</code> directive is lost. This is
unfortunate, but we feel that using the filesystem to pass along this
sort of information is not a recommended method, and a script making
use of it "deserves" not to work. Apache 1.2b3 and later, however, do
provide <a href="#compat">a workaround.</a>

<h2><a name="compat">Compatibility with Previous Servers</a></h2>

<p>It may be necessary for a script that was designed for earlier
versions of Apache or other servers to need the information that the
old PATH_INFO variable provided. For this purpose, Apache 1.2 (1.2b3
and later) sets an additional variable, FILEPATH_INFO. This
environment variable contains the value that PATH_INFO would have had
with Apache 1.1.1.</p>

<p>A script that wishes to work with both Apache 1.2 and earlier
versions can simply test for the existence of FILEPATH_INFO, and use
it if available. Otherwise, it can use PATH_INFO. For example, in
Perl, one might use:
<pre>
    $path_info = $ENV{'FILEPATH_INFO'} || $ENV{'PATH_INFO'};
</pre>

<p>By doing this, a script can work with all servers supporting the
CGI/1.1 specification, including all versions of Apache.</p>

<!--#include virtual="footer.html" -->
</BODY>
</HTML>
Loading