summaryrefslogtreecommitdiffstats
path: root/docs/manual/vhosts/details.html
diff options
context:
space:
mode:
Diffstat (limited to 'docs/manual/vhosts/details.html')
-rw-r--r--docs/manual/vhosts/details.html33
1 files changed, 18 insertions, 15 deletions
diff --git a/docs/manual/vhosts/details.html b/docs/manual/vhosts/details.html
index 97ac6d824e..b7baf591d3 100644
--- a/docs/manual/vhosts/details.html
+++ b/docs/manual/vhosts/details.html
@@ -14,7 +14,8 @@
<!--#include virtual="header.html" -->
<H1 ALIGN="CENTER">An In-Depth Discussion of Virtual Host Matching</H1>
-<P>The virtual host code was completely rewritten in <STRONG>Apache 1.3</STRONG>.
+<P>The virtual host code was completely rewritten in
+<STRONG>Apache 1.3</STRONG>.
This document attempts to explain exactly what Apache does when
deciding what virtual host to serve a hit from. With the help of the
new <A HREF="../mod/core.html#namevirtualhost"><SAMP>NameVirtualHost</SAMP></A>
@@ -120,9 +121,9 @@ first name in its <CODE>VirtualHost</CODE> directive.
<P>The complete list of names in the <CODE>VirtualHost</CODE> directive
are treated just like a <CODE>ServerAlias</CODE> (but are not overridden by any
-<CODE>ServerAlias</CODE> statement) if all names resolve to the same address set.
-Note that subsequent <CODE>Port</CODE> statements for this vhost will not affect
-the ports assigned in the address set.
+<CODE>ServerAlias</CODE> statement) if all names resolve to the same address
+set. Note that subsequent <CODE>Port</CODE> statements for this vhost will not
+affect the ports assigned in the address set.
<P>During initialization a list for each IP address
is generated an inserted into an hash table. If the IP address is
@@ -144,9 +145,11 @@ the table is optimized for IP addresses which vary in the last octet.
<A HREF="../mod/core.html#resourceconfig"><CODE>ResourceConfig</CODE></A>,
<A HREF="../mod/core.html#accessconfig"><CODE>AccessConfig</CODE></A>,
<A HREF="../mod/core.html#timeout"><CODE>Timeout</CODE></A>,
- <A HREF="../mod/core.html#keepalivetimeout"><CODE>KeepAliveTimeout</CODE></A>,
+ <A HREF="../mod/core.html#keepalivetimeout"
+ ><CODE>KeepAliveTimeout</CODE></A>,
<A HREF="../mod/core.html#keepalive"><CODE>KeepAlive</CODE></A>,
- <A HREF="../mod/core.html#maxkeepaliverequests"><CODE>MaxKeepAliveRequests</CODE></A>,
+ <A HREF="../mod/core.html#maxkeepaliverequests"
+ ><CODE>MaxKeepAliveRequests</CODE></A>,
or
<A HREF="../mod/core.html#sendbuffersize"><CODE>SendBufferSize</CODE></A>
directive then the respective value is
@@ -219,17 +222,17 @@ file.
<P>The first vhost on this list (the first vhost in the config file with
the specified IP address) has the highest priority and catches any request
to an unknown server name or a request without a <CODE>Host:</CODE>
-header.
+header field.
-<P>If the client provided a <CODE>Host:</CODE> header the list is
+<P>If the client provided a <CODE>Host:</CODE> header field the list is
searched for a matching vhost and the first hit on a <CODE>ServerName</CODE>
or <CODE>ServerAlias</CODE> is taken and the request is served from
-that vhost. A <CODE>Host:</CODE> header can contain a port number, but
+that vhost. A <CODE>Host:</CODE> header field can contain a port number, but
Apache always matches against the real port to which the client sent
the request.
<P>If the client submitted a HTTP/1.0 request without <CODE>Host:</CODE>
-header we don't know to what server the client tried to connect and
+header field we don't know to what server the client tried to connect and
any existing <CODE>ServerPath</CODE> is matched against the URI
from the request. The first matching path on the list is used and the
request is served from that vhost.
@@ -282,7 +285,7 @@ taken to be a proxy request.
<P>
<LI>For security reasons the port number given in a <CODE>Host:</CODE>
- header is never used during the matching process. Apache always
+ header field is never used during the matching process. Apache always
uses the real port to which the client sent the request.
<P>
@@ -290,7 +293,7 @@ taken to be a proxy request.
another <CODE>ServerPath</CODE> directive that appears later in
the configuration file, then the former will always be matched
and the latter will never be matched. (That is assuming that no
- Host header was available to disambiguate the two.)
+ <CODE>Host:</CODE> header field was available to disambiguate the two.)
<P>
<LI>If two IP-based vhosts have an address in common, the vhost appearing
@@ -312,13 +315,13 @@ taken to be a proxy request.
and port number to which the client connected is unspecified
and does not match any other vhost (including a <CODE>_default_</CODE>
vhost). In other words the main_server only catches a request for an
- unspecified address/port combination (unless there is a <CODE>_default_</CODE>
- vhost which matches that port).
+ unspecified address/port combination (unless there is a
+ <CODE>_default_</CODE> vhost which matches that port).
<P>
<LI>A <CODE>_default_</CODE> vhost or the main_server is <EM>never</EM>
matched for a request with an unknown or missing <CODE>Host:</CODE> header
- if the client connected to an address (and port) which is used
+ field if the client connected to an address (and port) which is used
for name-based vhosts, e.g. in a <CODE>NameVirtualHost</CODE> directive.
<P>