switch to a 60 bit hash
[httpd-crcsyncproxy.git] / docs / manual / mod / mod_access_compat.html.en
bloba04c297f6bbb1e6751151e3047bb104a2a0af09e
1 <?xml version="1.0" encoding="ISO-8859-1"?>
2 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3 <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head><!--
4 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
5 This file is generated from xml source: DO NOT EDIT
6 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
7 -->
8 <title>mod_access_compat - Apache HTTP Server</title>
9 <link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
10 <link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
11 <link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" />
12 <link href="../images/favicon.ico" rel="shortcut icon" /></head>
13 <body>
14 <div id="page-header">
15 <p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p>
16 <p class="apache">Apache HTTP Server Version 2.3</p>
17 <img alt="" src="../images/feather.gif" /></div>
18 <div class="up"><a href="./"><img title="&lt;-" alt="&lt;-" src="../images/left.gif" /></a></div>
19 <div id="path">
20 <a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">HTTP Server</a> &gt; <a href="http://httpd.apache.org/docs/">Documentation</a> &gt; <a href="../">Version 2.3</a> &gt; <a href="./">Modules</a></div>
21 <div id="page-content">
22 <div id="preamble"><h1>Apache Module mod_access_compat</h1>
23 <div class="toplang">
24 <p><span>Available Languages: </span><a href="../en/mod/mod_access_compat.html" title="English">&nbsp;en&nbsp;</a> |
25 <a href="../ja/mod/mod_access_compat.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a></p>
26 </div>
27 <table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Group authorizations based on host (name or IP
28 address)</td></tr>
29 <tr><th><a href="module-dict.html#Status">Status:</a></th><td>Extension</td></tr>
30 <tr><th><a href="module-dict.html#ModuleIdentifier">Module Identifier:</a></th><td>access_compat_module</td></tr>
31 <tr><th><a href="module-dict.html#SourceFile">Source File:</a></th><td>mod_access_compat.c</td></tr>
32 <tr><th><a href="module-dict.html#Compatibility">Compatibility:</a></th><td>Available in Apache 2.3 as a compatibility module with
33 previous versions of Apache 2.x. The directives provided by this module
34 have been deprecated by the new authz refactoring. Please see
35 <code class="module"><a href="../mod/mod_authz_host.html">mod_authz_host</a></code></td></tr></table>
36 <h3>Summary</h3>
38 <p>The directives provided by <code class="module"><a href="../mod/mod_access_compat.html">mod_access_compat</a></code> are
39 used in <code class="directive"><a href="../mod/core.html#directory">&lt;Directory&gt;</a></code>,
40 <code class="directive"><a href="../mod/core.html#files">&lt;Files&gt;</a></code>, and
41 <code class="directive"><a href="../mod/core.html#location">&lt;Location&gt;</a></code> sections
42 as well as <code><a href="core.html#accessfilename">.htaccess</a>
43 </code> files to control access to particular parts of the server.
44 Access can be controlled based on the client hostname, IP address, or
45 other characteristics of the client request, as captured in <a href="../env.html">environment variables</a>. The <code class="directive"><a href="#allow">Allow</a></code> and <code class="directive"><a href="#deny">Deny</a></code> directives are used to
46 specify which clients are or are not allowed access to the server,
47 while the <code class="directive"><a href="#order">Order</a></code>
48 directive sets the default access state, and configures how the
49 <code class="directive"><a href="#allow">Allow</a></code> and <code class="directive"><a href="#deny">Deny</a></code> directives interact with each
50 other.</p>
52 <p>Both host-based access restrictions and password-based
53 authentication may be implemented simultaneously. In that case,
54 the <code class="directive"><a href="#satisfy">Satisfy</a></code> directive is used
55 to determine how the two sets of restrictions interact.</p>
57 <div class="warning"><h3>Note</h3>
58 <p>The directives provided by <code class="module"><a href="../mod/mod_access_compat.html">mod_access_compat</a></code> have
59 been deprecated by the new authz refactoring. Please see
60 <code class="module"><a href="../mod/mod_authz_host.html">mod_authz_host</a></code>.</p>
61 </div>
63 <p>In general, access restriction directives apply to all
64 access methods (<code>GET</code>, <code>PUT</code>,
65 <code>POST</code>, etc). This is the desired behavior in most
66 cases. However, it is possible to restrict some methods, while
67 leaving other methods unrestricted, by enclosing the directives
68 in a <code class="directive"><a href="../mod/core.html#limit">&lt;Limit&gt;</a></code> section.</p>
69 </div>
70 <div id="quickview"><h3 class="directives">Directives</h3>
71 <ul id="toc">
72 <li><img alt="" src="../images/down.gif" /> <a href="#allow">Allow</a></li>
73 <li><img alt="" src="../images/down.gif" /> <a href="#deny">Deny</a></li>
74 <li><img alt="" src="../images/down.gif" /> <a href="#order">Order</a></li>
75 <li><img alt="" src="../images/down.gif" /> <a href="#satisfy">Satisfy</a></li>
76 </ul>
77 <h3>See also</h3>
78 <ul class="seealso">
79 <li><code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code></li>
80 <li><code class="module"><a href="../mod/mod_authz_host.html">mod_authz_host</a></code></li>
81 <li><code class="module"><a href="../mod/mod_authz_core.html">mod_authz_core</a></code></li>
82 </ul></div>
84 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
85 <div class="directive-section"><h2><a name="Allow" id="Allow">Allow</a> <a name="allow" id="allow">Directive</a></h2>
86 <table class="directive">
87 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Controls which hosts can access an area of the
88 server</td></tr>
89 <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code> Allow from all|<var>host</var>|env=[!]<var>env-variable</var>
90 [<var>host</var>|env=[!]<var>env-variable</var>] ...</code></td></tr>
91 <tr><th><a href="directive-dict.html#Context">Context:</a></th><td>directory, .htaccess</td></tr>
92 <tr><th><a href="directive-dict.html#Override">Override:</a></th><td>Limit</td></tr>
93 <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr>
94 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_access_compat</td></tr>
95 </table>
96 <p>The <code class="directive">Allow</code> directive affects which hosts can
97 access an area of the server. Access can be controlled by
98 hostname, IP address, IP address range, or by other
99 characteristics of the client request captured in environment
100 variables.</p>
102 <p>The first argument to this directive is always
103 <code>from</code>. The subsequent arguments can take three
104 different forms. If <code>Allow from all</code> is specified, then
105 all hosts are allowed access, subject to the configuration of the
106 <code class="directive"><a href="#deny">Deny</a></code> and <code class="directive"><a href="#order">Order</a></code> directives as discussed
107 below. To allow only particular hosts or groups of hosts to access
108 the server, the <em>host</em> can be specified in any of the
109 following formats:</p>
111 <dl>
112 <dt>A (partial) domain-name</dt>
114 <dd>
115 <div class="example"><h3>Example:</h3><p><code>
116 Allow from apache.org<br />
117 Allow from .net example.edu
118 </code></p></div>
119 <p>Hosts whose names match, or end in, this string are allowed
120 access. Only complete components are matched, so the above
121 example will match <code>foo.apache.org</code> but it will not
122 match <code>fooapache.org</code>. This configuration will cause
123 Apache to perform a double DNS lookup on the client IP
124 address, regardless of the setting of the <code class="directive"><a href="../mod/core.html#hostnamelookups">HostnameLookups</a></code> directive. It will do
125 a reverse DNS lookup on the IP address to find the associated
126 hostname, and then do a forward lookup on the hostname to assure
127 that it matches the original IP address. Only if the forward
128 and reverse DNS are consistent and the hostname matches will
129 access be allowed.</p></dd>
131 <dt>A full IP address</dt>
133 <dd>
134 <div class="example"><h3>Example:</h3><p><code>
135 Allow from 10.1.2.3<br />
136 Allow from 192.168.1.104 192.168.1.205
137 </code></p></div>
138 <p>An IP address of a host allowed access</p></dd>
140 <dt>A partial IP address</dt>
142 <dd>
143 <div class="example"><h3>Example:</h3><p><code>
144 Allow from 10.1<br />
145 Allow from 10 172.20 192.168.2
146 </code></p></div>
147 <p>The first 1 to 3 bytes of an IP address, for subnet
148 restriction.</p></dd>
150 <dt>A network/netmask pair</dt>
152 <dd>
153 <div class="example"><h3>Example:</h3><p><code>
154 Allow from 10.1.0.0/255.255.0.0
155 </code></p></div>
156 <p>A network a.b.c.d, and a netmask w.x.y.z. For more
157 fine-grained subnet restriction.</p></dd>
159 <dt>A network/nnn CIDR specification</dt>
161 <dd>
162 <div class="example"><h3>Example:</h3><p><code>
163 Allow from 10.1.0.0/16
164 </code></p></div>
165 <p>Similar to the previous case, except the netmask consists of
166 nnn high-order 1 bits.</p></dd>
167 </dl>
169 <p>Note that the last three examples above match exactly the
170 same set of hosts.</p>
172 <p>IPv6 addresses and IPv6 subnets can be specified as shown
173 below:</p>
175 <div class="example"><p><code>
176 Allow from 2001:db8::a00:20ff:fea7:ccea<br />
177 Allow from 2001:db8::a00:20ff:fea7:ccea/10
178 </code></p></div>
180 <p>The third format of the arguments to the
181 <code class="directive">Allow</code> directive allows access to the server
182 to be controlled based on the existence of an <a href="../env.html">environment variable</a>. When <code>Allow from
183 env=<var>env-variable</var></code> is specified, then the request is
184 allowed access if the environment variable <var>env-variable</var>
185 exists. When <code>Allow from env=!<var>env-variable</var></code> is
186 specified, then the request is allowed access if the environment
187 variable <var>env-variable</var> doesn't exist.
188 The server provides the ability to set environment
189 variables in a flexible way based on characteristics of the client
190 request using the directives provided by
191 <code class="module"><a href="../mod/mod_setenvif.html">mod_setenvif</a></code>. Therefore, this directive can be
192 used to allow access based on such factors as the clients
193 <code>User-Agent</code> (browser type), <code>Referer</code>, or
194 other HTTP request header fields.</p>
196 <div class="example"><h3>Example:</h3><p><code>
197 SetEnvIf User-Agent ^KnockKnock/2\.0 let_me_in<br />
198 &lt;Directory /docroot&gt;<br />
199 <span class="indent">
200 Order Deny,Allow<br />
201 Deny from all<br />
202 Allow from env=let_me_in<br />
203 </span>
204 &lt;/Directory&gt;
205 </code></p></div>
207 <p>In this case, browsers with a user-agent string beginning
208 with <code>KnockKnock/2.0</code> will be allowed access, and all
209 others will be denied.</p>
211 </div>
212 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
213 <div class="directive-section"><h2><a name="Deny" id="Deny">Deny</a> <a name="deny" id="deny">Directive</a></h2>
214 <table class="directive">
215 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Controls which hosts are denied access to the
216 server</td></tr>
217 <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code> Deny from all|<var>host</var>|env=[!]<var>env-variable</var>
218 [<var>host</var>|env=[!]<var>env-variable</var>] ...</code></td></tr>
219 <tr><th><a href="directive-dict.html#Context">Context:</a></th><td>directory, .htaccess</td></tr>
220 <tr><th><a href="directive-dict.html#Override">Override:</a></th><td>Limit</td></tr>
221 <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr>
222 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_access_compat</td></tr>
223 </table>
224 <p>This directive allows access to the server to be restricted
225 based on hostname, IP address, or environment variables. The
226 arguments for the <code class="directive">Deny</code> directive are
227 identical to the arguments for the <code class="directive"><a href="#allow">Allow</a></code> directive.</p>
229 </div>
230 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
231 <div class="directive-section"><h2><a name="Order" id="Order">Order</a> <a name="order" id="order">Directive</a></h2>
232 <table class="directive">
233 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Controls the default access state and the order in which
234 <code class="directive">Allow</code> and <code class="directive">Deny</code> are
235 evaluated.</td></tr>
236 <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code> Order <var>ordering</var></code></td></tr>
237 <tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>Order Deny,Allow</code></td></tr>
238 <tr><th><a href="directive-dict.html#Context">Context:</a></th><td>directory, .htaccess</td></tr>
239 <tr><th><a href="directive-dict.html#Override">Override:</a></th><td>Limit</td></tr>
240 <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr>
241 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_access_compat</td></tr>
242 </table>
244 <p>The <code class="directive">Order</code> directive, along with the
245 <code class="directive"><a href="#allow">Allow</a></code> and
246 <code class="directive"><a href="#deny">Deny</a></code> directives,
247 controls a three-pass access control system. The first pass
248 processes either all <code class="directive"><a href="#allow">Allow</a></code> or all <code class="directive"><a href="#deny">Deny</a></code> directives, as specified
249 by the <code class="directive"><a href="#order">Order</a></code>
250 directive. The second pass parses the rest of the directives
251 (<code class="directive"><a href="#deny">Deny</a></code> or
252 <code class="directive"><a href="#allow">Allow</a></code>). The third
253 pass applies to all requests which do not match either of the first
254 two.</p>
256 <p>Note that all <code class="directive"><a href="#allow">Allow</a></code> and <code class="directive"><a href="#deny">Deny</a></code> directives are
257 processed, unlike a typical firewall, where only the first match is
258 used. The last match is effective (also unlike a typical firewall).
259 Additionally, the order in which lines appear in the configuration
260 files is not significant -- all <code class="directive"><a href="#allow">Allow</a></code> lines are processed as
261 one group, all <code class="directive"><a href="#deny">Deny</a></code> lines are considered as
262 another, and the default state is considered by itself.</p>
264 <p><em>Ordering</em> is one of:</p>
266 <dl>
267 <dt><code>Allow,Deny</code></dt>
269 <dd>First, all <code class="directive"><a href="#allow">Allow</a></code> directives are
270 evaluated; at least one must match, or the request is rejected.
271 Next, all <code class="directive"><a href="#deny">Deny</a></code>
272 directives are evaluated. If any matches, the request is rejected.
273 Last, any requests which do not match an <code class="directive"><a href="#allow">Allow</a></code> or a <code class="directive"><a href="#deny">Deny</a></code> directive are denied
274 by default.</dd>
276 <dt><code>Deny,Allow</code></dt>
278 <dd>First, all <code class="directive"><a href="#deny">Deny</a></code> directives are
279 evaluated; if any match, the request is denied
280 <strong>unless</strong> it also matches an <code class="directive"><a href="#allow">Allow</a></code> directive. Any
281 requests which do not match any <code class="directive"><a href="#allow">Allow</a></code> or <code class="directive"><a href="#deny">Deny</a></code> directives are
282 permitted.</dd>
284 <dt><code>Mutual-failure</code></dt>
286 <dd>This order has the same effect as <code>Order
287 Allow,Deny</code> and is deprecated in its favor.</dd>
288 </dl>
290 <p>Keywords may only be separated by a comma; <em>no whitespace</em>
291 is allowed between them.</p>
293 <table class="bordered">
294 <tr>
295 <th>Match</th>
296 <th>Allow,Deny result</th>
297 <th>Deny,Allow result</th>
298 </tr><tr>
299 <th>Match Allow only</th>
300 <td>Request allowed</td>
301 <td>Request allowed</td>
302 </tr><tr>
303 <th>Match Deny only</th>
304 <td>Request denied</td>
305 <td>Request denied</td>
306 </tr><tr>
307 <th>No match</th>
308 <td>Default to second directive: Denied</td>
309 <td>Default to second directive: Allowed</td>
310 </tr><tr>
311 <th>Match both Allow &amp; Deny</th>
312 <td>Final match controls: Denied</td>
313 <td>Final match controls: Allowed</td>
314 </tr>
315 </table>
317 <p>In the following example, all hosts in the apache.org domain
318 are allowed access; all other hosts are denied access.</p>
320 <div class="example"><p><code>
321 Order Deny,Allow<br />
322 Deny from all<br />
323 Allow from apache.org
324 </code></p></div>
326 <p>In the next example, all hosts in the apache.org domain are
327 allowed access, except for the hosts which are in the
328 foo.apache.org subdomain, who are denied access. All hosts not
329 in the apache.org domain are denied access because the default
330 state is to <code class="directive"><a href="#deny">Deny</a></code>
331 access to the server.</p>
333 <div class="example"><p><code>
334 Order Allow,Deny<br />
335 Allow from apache.org<br />
336 Deny from foo.apache.org
337 </code></p></div>
339 <p>On the other hand, if the <code class="directive">Order</code> in the
340 last example is changed to <code>Deny,Allow</code>, all hosts will
341 be allowed access. This happens because, regardless of the actual
342 ordering of the directives in the configuration file, the
343 <code>Allow from apache.org</code> will be evaluated last and will
344 override the <code>Deny from foo.apache.org</code>. All hosts not in
345 the <code>apache.org</code> domain will also be allowed access
346 because the default state is <code class="directive"><a href="#allow">Allow</a></code>.</p>
348 <p>The presence of an <code class="directive">Order</code> directive can
349 affect access to a part of the server even in the absence of
350 accompanying <code class="directive"><a href="#allow">Allow</a></code>
351 and <code class="directive"><a href="#deny">Deny</a></code>
352 directives because of its effect on the default access state. For
353 example,</p>
355 <div class="example"><p><code>
356 &lt;Directory /www&gt;<br />
357 <span class="indent">
358 Order Allow,Deny<br />
359 </span>
360 &lt;/Directory&gt;
361 </code></p></div>
363 <p>will Deny all access to the <code>/www</code> directory
364 because the default access state is set to
365 <code class="directive"><a href="#deny">Deny</a></code>.</p>
367 <p>The <code class="directive">Order</code> directive controls the order of access
368 directive processing only within each phase of the server's
369 configuration processing. This implies, for example, that an
370 <code class="directive"><a href="#allow">Allow</a></code> or <code class="directive"><a href="#deny">Deny</a></code> directive occurring in a
371 <code class="directive"><a href="../mod/core.html#location">&lt;Location&gt;</a></code> section will
372 always be evaluated after an <code class="directive"><a href="#allow">Allow</a></code> or <code class="directive"><a href="#deny">Deny</a></code> directive occurring in a
373 <code class="directive"><a href="../mod/core.html#directory">&lt;Directory&gt;</a></code> section or
374 <code>.htaccess</code> file, regardless of the setting of the
375 <code class="directive">Order</code> directive. For details on the merging
376 of configuration sections, see the documentation on <a href="../sections.html">How Directory, Location and Files sections
377 work</a>.</p>
379 </div>
380 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
381 <div class="directive-section"><h2><a name="Satisfy" id="Satisfy">Satisfy</a> <a name="satisfy" id="satisfy">Directive</a></h2>
382 <table class="directive">
383 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Interaction between host-level access control and
384 user authentication</td></tr>
385 <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>Satisfy Any|All</code></td></tr>
386 <tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>Satisfy All</code></td></tr>
387 <tr><th><a href="directive-dict.html#Context">Context:</a></th><td>directory, .htaccess</td></tr>
388 <tr><th><a href="directive-dict.html#Override">Override:</a></th><td>AuthConfig</td></tr>
389 <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr>
390 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_access_compat</td></tr>
391 <tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Influenced by <code class="directive"><a href="../mod/core.html#limit">&lt;Limit&gt;</a></code> and <code class="directive"><a href="../mod/core.html#limitexcept">&lt;LimitExcept&gt;</a></code> in version 2.0.51 and
392 later</td></tr>
393 </table>
394 <p>Access policy if both <code class="directive"><a href="#allow">Allow</a></code> and <code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code> used. The parameter can be
395 either <code>All</code> or <code>Any</code>. This directive is only
396 useful if access to a particular area is being restricted by both
397 username/password <em>and</em> client host address. In this case
398 the default behavior (<code>All</code>) is to require that the client
399 passes the address access restriction <em>and</em> enters a valid
400 username and password. With the <code>Any</code> option the client will be
401 granted access if they either pass the host restriction or enter a
402 valid username and password. This can be used to password restrict
403 an area, but to let clients from particular addresses in without
404 prompting for a password.</p>
406 <p>For example, if you wanted to let people on your network have
407 unrestricted access to a portion of your website, but require that
408 people outside of your network provide a password, you could use a
409 configuration similar to the following:</p>
411 <div class="example"><p><code>
412 Require valid-user<br />
413 Allow from 192.168.1<br />
414 Satisfy Any
415 </code></p></div>
417 <p>Since version 2.0.51 <code class="directive">Satisfy</code> directives can
418 be restricted to particular methods by <code class="directive"><a href="../mod/core.html#limit">&lt;Limit&gt;</a></code> and <code class="directive"><a href="../mod/core.html#limitexcept">&lt;LimitExcept&gt;</a></code> sections.</p>
420 <h3>See also</h3>
421 <ul>
422 <li><code class="directive"><a href="#allow">Allow</a></code></li>
423 <li><code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code></li>
424 </ul>
425 </div>
426 </div>
427 <div class="bottomlang">
428 <p><span>Available Languages: </span><a href="../en/mod/mod_access_compat.html" title="English">&nbsp;en&nbsp;</a> |
429 <a href="../ja/mod/mod_access_compat.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a></p>
430 </div><div id="footer">
431 <p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
432 <p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div>
433 </body></html>