changeset 4187:b9dade63fcc2

The reference documentation is moving elsewhere.
author Ruslan Ermilov <ru@nginx.com>
date Sun, 09 Oct 2011 06:49:54 +0000
parents cce2fd0acc0f
children ca3230f2c6d8
files docs/GNUmakefile docs/dtd/module.dtd docs/html/http/ngx_http_core_module.html docs/html/http/ngx_http_mp4_module.html docs/html/ngx_core_module.html docs/xml/http/ngx_http_core_module.xml docs/xml/http/ngx_http_mp4_module.xml docs/xml/ngx_core_module.xml docs/xsls/content.xsls docs/xsls/directive.xsls docs/xsls/module.xsls docs/xslt/content.xslt docs/xslt/directive.xslt docs/xslt/module.xslt
diffstat 14 files changed, 1 insertions(+), 4772 deletions(-) [+]
line wrap: on
line diff
--- a/docs/GNUmakefile
+++ b/docs/GNUmakefile
@@ -24,7 +24,7 @@ define  XSLT
 endef
 
 
-all:		changes html
+all:		changes
 
 changes:	$(TEMP)/$(NGINX)/CHANGES.ru				\
 		$(TEMP)/$(NGINX)/CHANGES
@@ -55,27 +55,3 @@ changes:	$(TEMP)/$(NGINX)/CHANGES.ru				
 docs/xslt/changes.xslt:		docs/xsls/changes.xsls
 
 	$(call XSLScript, docs/xsls/changes.xsls, $@)
-
-html:									\
-	docs/html/ngx_core_module.html					\
-	docs/html/http/ngx_http_core_module.html			\
-	docs/html/http/ngx_http_mp4_module.html
-
-docs/html/%.html:							\
-		docs/xml/%.xml						\
-		docs/xslt/module.xslt					\
-		docs/dtd/module.dtd
-	$(call XSLT, docs/xslt/module.xslt, $<, $@)
-
-docs/html/http/%.html:							\
-		docs/xml/http/%.xml					\
-		docs/xslt/module.xslt					\
-		docs/dtd/module.dtd
-	$(call XSLT, docs/xslt/module.xslt, $<, $@)
-
-docs/xslt/module.xslt:							\
-		docs/xslt/directive.xslt				\
-		docs/xslt/content.xslt
-
-docs/xslt/%.xslt:		docs/xsls/%.xsls
-	$(call XSLScript, $<, $@)
deleted file mode 100644
--- a/docs/dtd/module.dtd
+++ /dev/null
@@ -1,85 +0,0 @@
-
-<!ELEMENT   module      (section+) >
-<!ATTLIST   module
-            name        CDATA #REQUIRED
-            id          ID #REQUIRED
->
-
-<!ELEMENT   section     (directive | para)+ >
-<!ATTLIST   section
-            name        CDATA #REQUIRED
-            id          ID #IMPLIED
->
-
-<!ELEMENT   directive   (syntax+, default, context+, para+) >
-<!ATTLIST   directive
-            name        ID #REQUIRED
-            appeared-in CDATA #IMPLIED
->
-
-<!ELEMENT   syntax      (#PCDATA | argument | code | parameter | value)* >
-
-<!ELEMENT   default     (#PCDATA | code)* >
-
-<!ELEMENT   context     (#PCDATA)* >
-
-<!ELEMENT   para        (#PCDATA | argument | c-def | c-func | code | command |
-                         dq | emphasis | example | header | http-status | link |
-                         list | note | parameter | pathname | value | var)* >
-
-<!ELEMENT   argument    (#PCDATA)* >
-
-<!ELEMENT   c-def       (#PCDATA)* >
-
-<!ELEMENT   c-func      (#PCDATA)* >
-
-<!ELEMENT   code        (#PCDATA | value)* >
-
-<!ELEMENT   command     (#PCDATA)* >
-
-<!ELEMENT   dq          ANY >
-
-<!ELEMENT   emphasis    (#PCDATA)* >
-
-<!ELEMENT   example     (#PCDATA)* >
-
-<!ELEMENT   header      (#PCDATA | argument)* >
-
-<!ELEMENT   http-status EMPTY >
-<!ATTLIST   http-status
-            code        CDATA #REQUIRED
-            text        CDATA #IMPLIED
->
-
-<!ELEMENT   link        (#PCDATA)* >
-<!ATTLIST   link
-            doc         CDATA #IMPLIED
-            id          CDATA #IMPLIED
-            url         CDATA #IMPLIED
->
-
-<!ELEMENT   list        (listitem+ | (tag-name | tag-desc)+) >
-<!ATTLIST   list
-            type        (bullet | enum | tag) #REQUIRED
->
-
-<!ELEMENT   listitem    ANY >
-<!ELEMENT   tag-name    ANY >
-<!ELEMENT   tag-desc    ANY >
-
-<!ELEMENT   note        ANY >
-
-<!ELEMENT   parameter   (#PCDATA)* >
-
-<!ELEMENT   pathname    (#PCDATA)* >
-
-<!ELEMENT   value       (#PCDATA)* >
-
-<!ELEMENT   var         (#PCDATA)* >
-
-<!ENTITY    nbsp        "&#xA0;" >
-<!ENTITY    mdash       "&nbsp;- " >
-<!ENTITY    lsquo       "&#8216;">
-<!ENTITY    rsquo       "&#8217;">
-<!ENTITY    ldquo       "&#8220;">
-<!ENTITY    rdquo       "&#8221;">
deleted file mode 100644
--- a/docs/html/http/ngx_http_core_module.html
+++ /dev/null
@@ -1,1287 +0,0 @@
-<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><title>HTTP Core Module</title></head><body><center><h3>HTTP Core Module</h3></center><a name="directives"></a><center><h4>Directives</h4></center><hr><a name="aio"></a><strong>syntax</strong>:
-         <code>aio
-        <code>on</code> |
-        <code>off</code> |
-        <code>sendfile</code></code><br><strong>default</strong>:
-      <code>aio off</code><br><strong>context</strong>:
-      <code>http</code>, <code>server</code>, <code>location</code><br><strong>appeared in version</strong>:
-         0.8.11<p>
-Enables or disables the use of asynchronous file I/O (AIO)
-on FreeBSD and Linux.
-</p><p>
-On FreeBSD, AIO is usable starting from FreeBSD 4.3.
-AIO can either be linked statically into a kernel:
-<blockquote><pre>
-options VFS_AIO
-</pre></blockquote>
-or loaded dynamically as a kernel loadable module:
-<blockquote><pre>
-kldload aio
-</pre></blockquote></p><p>
-In FreeBSD versions 5 and 6, enabling AIO statically, or dynamically
-when booting the kernel, will cause the entire networking subsystem
-to use the Giant lock that can impact overall performance negatively.
-This limitation has been removed in FreeBSD 6.4-STABLE in 2009, and in
-FreeBSD 7.
-However, starting from FreeBSD 5.3 it is possible to enable AIO
-without the penalty of running the networking subsystem under a
-Giant lock - for this to work, the AIO module needs to be loaded
-after the kernel has booted.
-In this case, the following message will appear in
-<code>/var/log/messages</code><blockquote><pre>
-WARNING: Network stack Giant-free, but aio requires Giant.
-Consider adding 'options NET_WITH_GIANT' or setting debug.mpsafenet=0
-</pre></blockquote>
-and can safely be ignored.
-
-The requirement to use the Giant lock with AIO is related to the
-fact that FreeBSD supports asynchronous calls
-<code>aio_read()</code>
-and
-<code>aio_write()</code>
-when working with sockets.
-However, since nginx only uses AIO for disk I/O, no problems should arise.
-</p><p>
-For AIO to work,
-<a href="#sendfile">sendfile</a>
-needs to be disabled:
-<blockquote><pre>
-location /video/ {
-    sendfile       off;
-    aio            on;
-    output_buffers 1 64k;
-}
-</pre></blockquote></p><p>
-In addition, starting from FreeBSD 5.2.1 and nginx 0.8.12, AIO can
-also be used to pre-load data for <code>sendfile()</code>:
-<blockquote><pre>
-location /video/ {
-    sendfile       on;
-    tcp_nopush     on;
-    aio            sendfile;
-}
-</pre></blockquote>
-In this configuration, <code>sendfile()</code> is called with
-the <code>SF_NODISKIO</code> flag which causes it not to
-block on disk I/O and instead report back when the data are not in
-memory; nginx then initiates an asynchronous data load by reading
-one byte. The FreeBSD kernel then loads the first 128K bytes
-of a file into memory, however next reads will only load data
-in 16K chunks. This can be tuned using the
-<a href="#read_ahead">read_ahead</a>
-directive.
-</p><p>
-On Linux, AIO is usable starting from kernel version 2.6.22;
-plus, it is also necessary to enable
-<a href="#directio">directio</a>,
-otherwise reading will be blocking:
-<blockquote><pre>
-location /video/ {
-    aio            on;
-    directio       512;
-    output_buffers 1 128k;
-}
-</pre></blockquote></p><p>
-On Linux,
-<a href="#directio">directio</a>
-can only be used for reading blocks that are aligned on 512-byte
-boundaries (or 4K for XFS).
-Reading of unaligned file's end is still made in blocking mode.
-The same holds true for byte range requests, and for FLV requests
-not from the beginning of a file: reading of unaligned data at the
-beginning and end of a file will be blocking.
-There is no need to turn off
-<a href="#sendfile">sendfile</a>
-explicitly as it is turned off automatically when
-<a href="#directio">directio</a>
-is used.
-</p><hr><a name="alias"></a><strong>syntax</strong>:
-         <code>alias <code><i>path</i></code></code><br><strong>default</strong>:
-      <strong>none</strong><br><strong>context</strong>:
-      <code>location</code><br><p>
-Defines a replacement for the specified location.
-For example, with the following configuration
-<blockquote><pre>
-location /i/ {
-    alias /data/w3/images/;
-}
-</pre></blockquote>
-the request of
-&ldquo;<code>/i/top.gif</code>&rdquo; will be responded
-with the file
-&ldquo;<code>/data/w3/images/top.gif</code>&rdquo;.
-</p><p>
-The <code><i>path</i></code> value can contain variables.
-</p><p>
-If <code>alias</code> is used inside a location defined
-with a regular expression then such regular expression should
-contain captures and <code>alias</code> should refer to
-these captures (0.7.40), for example:
-<blockquote><pre>
-location ~ ^/users/(.+\.(?:gif|jpe?g|png))$ {
-    alias /data/w3/images/$1;
-}
-</pre></blockquote></p><p>
-When location matches the last part of the directive's value:
-<blockquote><pre>
-location /images/ {
-    alias /data/w3/images/;
-}
-</pre></blockquote>
-it is better to use the
-<a href="#root">root</a>
-directive instead:
-<blockquote><pre>
-location /images/ {
-    root /data/w3;
-}
-</pre></blockquote></p><hr><a name="client_body_in_file_only"></a><strong>syntax</strong>:
-         <code>client_body_in_file_only
-        <code>on</code> |
-        <code>clean</code> |
-        <code>off</code></code><br><strong>default</strong>:
-      <code>client_body_in_file_only off</code><br><strong>context</strong>:
-      <code>http</code>, <code>server</code>, <code>location</code><br><p>
-Determines whether nginx should save the entire client request body
-into a file.
-This directive can be used during debugging, or when using the
-<code>$request_body_file</code>
-variable, or the
-<a href="ngx_http_perl_module.html#methods">$r-&gt;request_body_file</a>
-method of the module
-<a href="ngx_http_perl_module.html">ngx_http_perl_module</a>.
-</p><p>
-When set to the value <code>on</code>, temporary files are not
-removed after request processing.
-</p><p>
-The value <code>clean</code> will cause the temporary files
-left after request processing to be removed.
-</p><hr><a name="client_body_in_single_buffer"></a><strong>syntax</strong>:
-         <code>client_body_in_single_buffer <code>on</code> | <code>off</code></code><br><strong>default</strong>:
-      <code>client_body_in_single_buffer off</code><br><strong>context</strong>:
-      <code>http</code>, <code>server</code>, <code>location</code><br><p>
-Determines whether nginx should save the entire client request body
-in a single buffer.
-The directive is recommended when using the
-<code>$request_body</code>
-variable, to save the number of copy operations involved.
-</p><hr><a name="client_body_buffer_size"></a><strong>syntax</strong>:
-         <code>client_body_buffer_size <code><i>size</i></code></code><br><strong>default</strong>:
-      <code>client_body_buffer_size 8k/16k</code><br><strong>context</strong>:
-      <code>http</code>, <code>server</code>, <code>location</code><br><p>
-Sets buffer size for reading client request body.
-In case request body is larger than the buffer,
-the whole body or only its part is written to a temporary file.
-
-By default, buffer size is equal to two memory pages.
-This is 8K on x86, other 32-bit platforms, and x86-64.
-It is usually 16K on other 64-bit platforms.
-</p><hr><a name="client_body_temp_path"></a><strong>syntax</strong>:
-         <code>client_body_temp_path
-        <code><i>path</i></code>
-        [<code><i>level1</i></code>
-        [<code><i>level2</i></code>
-        [<code><i>level3</i></code>]]]
-</code><br><strong>default</strong>:
-      <code>client_body_temp_path client_body_temp</code><br><strong>context</strong>:
-      <code>http</code>, <code>server</code>, <code>location</code><br><p>
-Defines a directory for storing temporary files holding client request bodies.
-Up to three-level subdirectory hierarchy can be used underneath the specified
-directory.
-For example, in the following configuration
-<blockquote><pre>
-client_body_temp_path /spool/nginx/client_temp 1 2;
-</pre></blockquote>
-a temporary file might look like this:
-<blockquote><pre>
-/spool/nginx/client_temp/7/45/00000123457
-</pre></blockquote></p><hr><a name="client_body_timeout"></a><strong>syntax</strong>:
-         <code>client_body_timeout <code><i>time</i></code></code><br><strong>default</strong>:
-      <code>client_body_timeout 60</code><br><strong>context</strong>:
-      <code>http</code>, <code>server</code>, <code>location</code><br><p>
-Defines a timeout for reading client request body.
-A timeout is only set between two successive read operations,
-not for the transmission of the whole request body.
-If a client does not transmit anything within this time,
-the client error
-408 (Request Time-out)
-is returned.
-</p><hr><a name="client_header_buffer_size"></a><strong>syntax</strong>:
-         <code>client_header_buffer_size <code><i>size</i></code></code><br><strong>default</strong>:
-      <code>client_header_buffer_size 1k</code><br><strong>context</strong>:
-      <code>http</code>, <code>server</code><br><p>
-Sets buffer size for reading client request header.
-For most requests, a buffer of 1K bytes is enough.
-However, if a request includes long cookies, or comes from a WAP client,
-it may not fit into 1K.
-If a request line, or a request header field do not fit entirely into
-this buffer then larger buffers are allocated, configured by the
-<a href="#large_client_header_buffers">large_client_header_buffers</a>
-directive.
-</p><hr><a name="client_header_timeout"></a><strong>syntax</strong>:
-         <code>client_header_timeout <code><i>time</i></code></code><br><strong>default</strong>:
-      <code>client_header_timeout 60</code><br><strong>context</strong>:
-      <code>http</code>, <code>server</code><br><p>
-Defines a timeout for reading client request header.
-If a client does not transmit the entire header within this time,
-the client error
-408 (Request Time-out)
-is returned.
-</p><hr><a name="client_max_body_size"></a><strong>syntax</strong>:
-         <code>client_max_body_size <code><i>size</i></code></code><br><strong>default</strong>:
-      <code>client_max_body_size 1m</code><br><strong>context</strong>:
-      <code>http</code>, <code>server</code>, <code>location</code><br><p>
-Sets the maximum allowed size of the client request body,
-specified in the
-<code>Content-Length</code>
-request header field.
-If it exceeds the configured value, the client error
-413 (Request Entity Too Large)
-is returned.
-Please be aware that
-<a href="/web/upload.html">browsers cannot correctly display
-this error</a>.
-</p><hr><a name="default_type"></a><strong>syntax</strong>:
-         <code>default_type <code><i>mime-type</i></code></code><br><strong>default</strong>:
-      <code>default_type text/plain</code><br><strong>context</strong>:
-      <code>http</code>, <code>server</code>, <code>location</code><br><p>
-Defines a default MIME-type of a response.
-</p><hr><a name="directio"></a><strong>syntax</strong>:
-         <code>directio <code><i>size</i></code> | <code>off</code></code><br><strong>default</strong>:
-      <code>directio off</code><br><strong>context</strong>:
-      <code>http</code>, <code>server</code>, <code>location</code><br><strong>appeared in version</strong>:
-         0.7.7<p>
-Enables the use of
-the <code>O_DIRECT</code> flag (FreeBSD, Linux),
-the <code>F_NOCACHE</code> flag (Mac OS X),
-or the <code>directio()</code> function (Solaris),
-when reading files that are larger than the specified <code><i>size</i></code>.
-It automatically disables (0.7.15) the use of
-<a href="#sendfile">sendfile</a>
-for a given request.
-It could be useful for serving large files:
-<blockquote><pre>
-directio 4m;
-</pre></blockquote>
-or when using <a href="#aio">aio</a> on Linux.
-</p><hr><a name="directio_alignment"></a><strong>syntax</strong>:
-         <code>directio_alignment <code><i>size</i></code></code><br><strong>default</strong>:
-      <code>directio_alignment 512</code><br><strong>context</strong>:
-      <code>http</code>, <code>server</code>, <code>location</code><br><strong>appeared in version</strong>:
-         0.8.11<p>
-Sets an alignment for
-<a href="#directio">directio</a>.
-In most cases, a 512-byte alignment is enough, however, when
-using XFS under Linux, it needs to be increased to 4K.
-</p><hr><a name="error_page"></a><strong>syntax</strong>:
-         <code>error_page
-        <code><i>code</i></code> ...
-        [<code>=</code>[<code><i>response</i></code>]]
-        <code><i>uri</i></code></code><br><strong>default</strong>:
-      <strong>none</strong><br><strong>context</strong>:
-      <code>http</code>, <code>server</code>, <code>location</code>, <code>if in location</code><br><p>
-Defines the URI that will be shown for the specified errors.
-These directives are inherited from the previous level if and
-only if there are no
-<code>error_page</code>
-directives on
-the current level.
-A URI value can contain variables.
-</p><p>
-Example:
-<blockquote><pre>
-error_page 404         /404.html;
-error_page 502 503 504 /50x.html;
-error_page 403         http://example.com/forbidden.html;
-</pre></blockquote></p><p>
-Furthermore, it is possible to change the response code to another, for example:
-<blockquote><pre>
-error_page 404 =200 /empty.gif;
-</pre></blockquote></p><p>
-If an error response is processed by a proxied server, or a FastCGI server,
-and the server may return different response codes (e.g., 200, 302, 401
-or 404), it is possible to respond with a returned code:
-<blockquote><pre>
-error_page 404 = /404.php;
-</pre></blockquote></p><p>
-If there is no need to change URI during redirection it is possible to redirect
-error processing into a named location:
-<blockquote><pre>
-location / {
-    error_page 404 = @fallback;
-}
-
-location @fallback {
-    proxy_pass http://backend;
-}
-</pre></blockquote></p><hr><a name="if_modified_since"></a><strong>syntax</strong>:
-         <code>if_modified_since
-        <code>off</code> |
-        <code>exact</code> |
-        <code>before</code></code><br><strong>default</strong>:
-      <code>if_modified_since exact</code><br><strong>context</strong>:
-      <code>http</code>, <code>server</code>, <code>location</code><br><strong>appeared in version</strong>:
-         0.7.24<p>
-Specifies how to compare modification time of a response
-with the time in the
-<code>If-Modified-Since</code>
-request header:
-
-<dl compact><dt><code>off</code></dt><dd>
-the
-<code>If-Modified-Since</code> request header is ignored (0.7.34);
-</dd><dt><code>exact</code></dt><dd>
-exact match;
-</dd><dt><code>before</code></dt><dd>
-modification time of a response is
-less than or equal to the time in the <code>If-Modified-Since</code>
-request header.
-</dd></dl></p><hr><a name="internal"></a><strong>syntax</strong>:
-         <code>internal</code><br><strong>default</strong>:
-      <strong>none</strong><br><strong>context</strong>:
-      <code>location</code><br><p>
-Specifies that a given location can only be used for internal requests.
-For external requests, the client error
-404 (Not Found)
-is returned.
-Internal requests are the following:
-
-<ul><li>
-requests redirected by the <a href="#error_page">error_page</a> directive;
-</li><li>
-subrequests formed by the
-<code>include virtual</code>
-command of the module
-<a href="ngx_http_ssi_module.html">ngx_http_ssi_module</a>;
-</li><li>
-requests changed by the
-<a href="ngx_http_rewrite_module.html#rewrite">rewrite</a>
-directive of the module
-<a href="ngx_http_rewrite_module.html">ngx_http_rewrite_module</a>.
-</li></ul></p><p>
-Example:
-<blockquote><pre>
-error_page 404 /404.html;
-
-location /404.html {
-    internal;
-}
-</pre></blockquote></p><hr><a name="keepalive_requests"></a><strong>syntax</strong>:
-         <code>keepalive_requests <code><i>number</i></code></code><br><strong>default</strong>:
-      <code>keepalive_requests 100</code><br><strong>context</strong>:
-      <code>http</code>, <code>server</code>, <code>location</code><br><strong>appeared in version</strong>:
-         0.8.0<p>
-Sets the maximum number of requests that can be
-made through one keep-alive connection.
-</p><hr><a name="keepalive_timeout"></a><strong>syntax</strong>:
-         <code>keepalive_timeout
-        <code><i>time</i></code>
-        [<code><i>time</i></code>]
-</code><br><strong>default</strong>:
-      <code>keepalive_timeout 75</code><br><strong>context</strong>:
-      <code>http</code>, <code>server</code>, <code>location</code><br><p>
-The first argument sets a timeout during which a keep-alive
-client connection will stay open on the server side.
-The optional second argument sets a value in the
-&ldquo;<code>Keep-Alive: timeout=<code><i>time</i></code></code>&rdquo;
-response header.
-Two arguments may differ.
-</p><p>
-The
-&ldquo;<code>Keep-Alive: timeout=</code>&rdquo;
-is understood by Mozilla and Konqueror.
-MSIE will close keep-alive connection in about 60 seconds.
-</p><hr><a name="large_client_header_buffers"></a><strong>syntax</strong>:
-         <code>large_client_header_buffers <code><i>number size</i></code></code><br><strong>default</strong>:
-      <code>large_client_header_buffers 4 4k/8k</code><br><strong>context</strong>:
-      <code>http</code>, <code>server</code><br><p>
-Sets the maximum <code><i>number</i></code> and <code><i>size</i></code> of
-buffers used when reading large client request headers.
-A request line cannot exceed the size of one buffer, or the client error
-414 (Request-URI Too Large)
-is returned.
-A request header field cannot exceed the size of one buffer as well, or the
-client error
-400 (Bad Request)
-is returned.
-Buffers are allocated only on demand.
-By default, the buffer size is equal to one memory page size.
-It is either 4K or 8K, platform dependent.
-If after the end of request processing a connection is transitioned
-into the keep-alive state, these buffers are freed.
-</p><hr><a name="limit_except"></a><strong>syntax</strong>:
-         <code>limit_except <code><i>method</i></code> ... { ... }</code><br><strong>default</strong>:
-      <strong>none</strong><br><strong>context</strong>:
-      <code>location</code><br><p>
-Limits allowed HTTP methods inside a location.
-The GET method also implies the HEAD method.
-Access to other methods can be limited using the
-<a href="ngx_http_access_module.html">ngx_http_access_module</a>
-and
-<a href="ngx_http_auth_basic_module.html">ngx_http_auth_basic_module</a>
-modules directives:
-<blockquote><pre>
-limit_except GET {
-    allow 192.168.1.0/32;
-    deny  all;
-}
-</pre></blockquote>
-Please note that this will limit access to all methods
-<strong>except</strong> GET and HEAD.
-</p><hr><a name="limit_rate"></a><strong>syntax</strong>:
-         <code>limit_rate <code><i>rate</i></code></code><br><strong>default</strong>:
-      <strong>none</strong><br><strong>context</strong>:
-      <code>http</code>, <code>server</code>, <code>location</code>, <code>if in location</code><br><p>
-Rate limits the transmission of a response to a client.
-The <code><i>rate</i></code> is specified in bytes per second.
-
-The limit is per connection, so if a single client opens 2 connections,
-an overall rate will be 2x more than specified.
-</p><p>
-This directive is not applicable if one wants to rate limit
-a group of clients on the
-<a href="#server">server</a>
-level.
-If that is the case, the desired limit can be specified in the
-<code>$limit_rate</code>
-variable:
-<blockquote><pre>
-server {
-
-    if ($slow) {
-        set $limit_rate 4k;
-    }
-
-    ...
-}
-</pre></blockquote></p><hr><a name="limit_rate_after"></a><strong>syntax</strong>:
-         <code>limit_rate_after <code><i>size</i></code></code><br><strong>default</strong>:
-      <strong>none</strong><br><strong>context</strong>:
-      <code>http</code>, <code>server</code>, <code>location</code>, <code>if in location</code><br><strong>appeared in version</strong>:
-         0.8.0<p>
-Sets the initial amount after which the further transmission
-of a response to a client will be rate limited.
-</p><p>
-Example:
-<blockquote><pre>
-location /flv/ {
-    flv;
-    limit_rate_after 500k;
-    limit_rate       50k;
-}
-</pre></blockquote></p><hr><a name="listen"></a><strong>syntax</strong>:
-         <code>listen
-        <code><i>address</i></code>[:<code><i>port</i></code>]
-        [<code>default</code> | <code>default_server</code>
-        [<code>backlog</code>=<code><i>number</i></code>]
-        [<code>rcvbuf</code>=<code><i>size</i></code>]
-        [<code>sndbuf</code>=<code><i>size</i></code>]
-        [<code>accept_filter</code>=<code><i>filter</i></code>]
-        [<code>deferred</code>]
-        [<code>bind</code>]
-        [<code>ipv6only</code>=<code>on</code>|<code>off</code>]
-        [<code>ssl</code>]]
-</code><br><code>       </code><code>listen
-        <code><i>port</i></code>
-        [<code>default</code> | <code>default_server</code>
-        [<code>backlog</code>=<code><i>number</i></code>]
-        [<code>rcvbuf</code>=<code><i>size</i></code>]
-        [<code>sndbuf</code>=<code><i>size</i></code>]
-        [<code>accept_filter</code>=<code><i>filter</i></code>]
-        [<code>deferred</code>]
-        [<code>bind</code>]
-        [<code>ipv6only</code>=<code>on</code>|<code>off</code>]
-        [<code>ssl</code>]]
-</code><br><strong>default</strong>:
-      <code>listen *:80 | *:8000</code><br><strong>context</strong>:
-      <code>server</code><br><p>
-Sets an <code><i>address</i></code> and a <code><i>port</i></code>, on which
-the server will accept requests.
-Only one of <code><i>address</i></code> or <code><i>port</i></code> can be
-specified.
-An <code><i>address</i></code> may also be a hostname, for example:
-<blockquote><pre>
-listen 127.0.0.1:8000;
-listen 127.0.0.1;
-listen 8000;
-listen *:8000;
-listen localhost:8000;
-</pre></blockquote>
-IPv6 addresses (0.7.36) are specified in square brackets:
-<blockquote><pre>
-listen [::]:8000;
-listen [fe80::1];
-</pre></blockquote></p><p>
-If only <code><i>address</i></code> is given, the port 80 is used.
-</p><p>
-If directive is not present then either the <code>*:80</code> is used
-if nginx runs with superuser privileges, or <code>*:8000</code> otherwise.
-</p><p>
-The <code>default</code> parameter, if present,
-will cause the server to become the default server for the specified
-<code><i>address</i></code>:<code><i>port</i></code> pair.
-If none of the directives have the <code>default</code>
-parameter then the first server with the
-<code><i>address</i></code>:<code><i>port</i></code> pair will be
-the default server for this pair.
-Starting from version 0.8.21 it is possible to use the
-<code>default_server</code>
-parameter.
-</p><p>
-A <code>listen</code> directive which has the <code>default</code>
-parameter can have several additional parameters specific to system calls
-<code>listen()</code> and <code>bind()</code>.
-Starting from version 0.8.21, these parameters can be specified in any
-<code>listen</code> directive, but only once for the given
-<code><i>address</i></code>:<code><i>port</i></code> pair.
-<dl compact><dt><code>backlog</code>=<code><i>number</i></code></dt><dd>
-sets the <code>backlog</code> parameter in the
-<code>listen()</code> call.
-By default, <code>backlog</code> equals -1 on FreeBSD
-and 511 on other platforms.
-</dd><dt><code>rcvbuf</code>=<code><i>size</i></code></dt><dd>
-sets the <code>SO_RCVBUF</code> parameter for the listening socket.
-</dd><dt><code>sndbuf</code>=<code><i>size</i></code></dt><dd>
-sets the <code>SO_SNDBUF</code> parameter for the listening socket.
-</dd><dt><code>accept_filter</code>=<code><i>filter</i></code></dt><dd>
-sets the name of the accept filter.
-This works only on FreeBSD, acceptable values are <code>dataready</code>
-and <code>httpready</code>.
-On receipt of the <code>SIGHUP</code> signal, an accept filter can only be
-changed in recent versions of FreeBSD, starting from 6.0, 5.4-STABLE
-and 4.11-STABLE.
-</dd><dt><code>deferred</code></dt><dd>
-instructs to use a deferred <code>accept()</code> on Linux
-using the <code>TCP_DEFER_ACCEPT</code> option.
-</dd><dt><code>bind</code></dt><dd>
-specifies to make a separate <code>bind()</code> call for a given
-<code><i>address</i></code>:<code><i>port</i></code> pair.
-This is because nginx will only <code>bind()</code> to
-<code>*</code>:<code><i>port</i></code>
-if there are several <code>listen</code> directives with
-the same port but different addresses, and one of the
-<code>listen</code> directives listens on all addresses
-for the given port (<code>*</code>:<code><i>port</i></code>).
-It should be noted that in this case a <code>getsockname()</code>
-system call will be made to determine an address that accepted a
-connection.
-If parameters <code>backlog</code>, <code>rcvbuf</code>,
-<code>sndbuf</code>, <code>accept_filter</code>, or
-<code>deferred</code> are used then for a given
-<code><i>address</i></code>:<code><i>port</i></code> pair
-a separate <code>bind()</code> call will always be made.
-</dd><dt><code>ipv6only</code>=<code>on</code>|<code>off</code></dt><dd>
-this parameter (0.7.42) sets the value of the <code>IPV6_V6ONLY</code>
-parameter for the listening socket.
-This parameter can only be set once on start.
-</dd><dt><code>ssl</code></dt><dd>
-this parameter (0.7.14) does not relate to system calls
-<code>listen()</code> and <code>bind()</code>, but allows to
-specify that all connections accepted on this port should work in
-the SSL mode.
-This allows for a more compact configuration for the server operating
-in both HTTP and HTTPS modes simultaneously.
-<blockquote><pre>
-listen 80;
-listen 443 default ssl;
-</pre></blockquote></dd></dl></p><p>
-Example:
-<blockquote><pre>
-listen 127.0.0.1 default accept_filter=dataready backlog=1024;
-</pre></blockquote></p><hr><a name="location"></a><strong>syntax</strong>:
-         <code>location [
-        <code>=</code> |
-	<code>~</code> |
-	<code>~*</code> |
-	<code>^~</code> |
-	<code>@</code>
-	] <code><i>uri</i></code>
-{ ... }</code><br><strong>default</strong>:
-      <strong>none</strong><br><strong>context</strong>:
-      <code>server</code><br><p>
-Sets a configuration based on a request URI.
-A location can either be defined by a prefix string, or by a regular expression.
-Regular expressions are specified by prepending them with the
-&ldquo;<code>~*</code>&rdquo; prefix (for case-insensitive matching), or with the
-&ldquo;<code>~</code>&rdquo; prefix (for case-sensitive matching).
-To find a location matching a given request, nginx first checks
-locations defined using the prefix strings (prefix locations).
-Amongst them, the most specific one is searched.
-Then regular expressions are checked, in the order of their appearance
-in a configuration file.
-A search terminates on the first match, and its corresponding
-configuration is used.
-If no match with a regular expression location is found then a
-configuration of the most specific prefix location is used.
-</p><p>
-For case-insensitive operating systems such as Mac OS X and Cygwin,
-the string matching ignores a case (0.7.7).
-However, comparison is limited to one-byte locales.
-</p><p>
-Regular expressions can contain captures (0.7.40) that can later
-be used in other directives.
-</p><p>
-If the most specific prefix location has the &ldquo;<code>^~</code>&rdquo; prefix
-then regular expressions are not checked.
-</p><p>
-Also, using the &ldquo;<code>=</code>&rdquo; prefix it is possible to define
-an exact match of URI and location.
-If an exact match is found, the search terminates.
-For example, if a &ldquo;<code>/</code>&rdquo; request happens frequently,
-defining &ldquo;<code>location = /</code>&rdquo; will speed up the processing
-of these requests, as search terminates right after the first
-comparison.
-</p><p>
-In versions from 0.7.1 to 0.8.41, if a request matched the prefix
-location without the &ldquo;<code>=</code>&rdquo; and &ldquo;<code>^~</code>&rdquo;
-prefixes, the search also terminated and regular expressions were
-not checked.
-</p><p>
-Let's illustrate the above by example:
-<blockquote><pre>
-location = / {
-    [ configuration A ]
-}
-
-location / {
-    [ configuration B ]
-}
-
-location ^~ /images/ {
-    [ configuration C ]
-}
-
-location ~* \.(gif|jpg|jpeg)$ {
-    [ configuration D ]
-}
-</pre></blockquote>
-The &ldquo;<code>/</code>&rdquo; request will match configuration A,
-the &ldquo;<code>/documents/document.html</code>&rdquo; request will match
-configuration B,
-the &ldquo;<code>/images/1.gif</code>&rdquo; request will match configuration C, and
-the &ldquo;<code>/documents/1.jpg</code>&rdquo; request will match configuration D.
-</p><p>
-The &ldquo;<code>@</code>&rdquo; prefix defines a named location.
-Such a location is not used for a regular request processing, but instead
-used for request redirection.
-</p><hr><a name="log_not_found"></a><strong>syntax</strong>:
-         <code>log_not_found <code>on</code> | <code>off</code></code><br><strong>default</strong>:
-      <code>log_not_found on</code><br><strong>context</strong>:
-      <code>http</code>, <code>server</code>, <code>location</code><br><p>
-Enables or disables logging of errors about not found files into the
-<a href="../ngx_core_module.html#error_log">error_log</a>.
-</p><hr><a name="log_subrequest"></a><strong>syntax</strong>:
-         <code>log_subrequest <code>on</code> | <code>off</code></code><br><strong>default</strong>:
-      <code>log_subrequest off</code><br><strong>context</strong>:
-      <code>http</code>, <code>server</code>, <code>location</code><br><p>
-Enables or disables logging of subrequests into the
-<a href="ngx_http_log_module.html#access_log">access_log</a>.
-</p><hr><a name="merge_slashes"></a><strong>syntax</strong>:
-         <code>merge_slashes <code>on</code> | <code>off</code></code><br><strong>default</strong>:
-      <code>merge_slashes on</code><br><strong>context</strong>:
-      <code>http</code>, <code>server</code><br><p>
-Enables or disables compression of two or more adjacent slashes
-in a URI into a single slash.
-</p><p>
-Note that compression is essential for the correct prefix string
-and regular expressions location matching.
-Without it, the &ldquo;<code>//scripts/one.php</code>&rdquo; request would not match
-<blockquote><pre>
-location /scripts/ {
-    ...
-}
-</pre></blockquote>
-and might be processed as a static file,
-so it gets converted to &ldquo;<code>/scripts/one.php</code>&rdquo;.
-</p><p>
-Turning the compression <code>off</code> can become necessary if a URI
-contains base64-encoded names, since base64 uses the "/" character internally.
-However, for security considerations, it is better to avoid turning off
-the compression.
-</p><p>
-If a directive is specified on the
-<a href="#server">server</a>
-level, which is also a default server, its value will cover
-all virtual servers listening on the same address and port.
-</p><hr><a name="msie_padding"></a><strong>syntax</strong>:
-         <code>msie_padding <code>on</code> | <code>off</code></code><br><strong>default</strong>:
-      <code>msie_padding on</code><br><strong>context</strong>:
-      <code>http</code>, <code>server</code>, <code>location</code><br><p>
-Enables or disables adding of comments to responses with status
-greater than 400 for MSIE clients, to pad the response size to 512 bytes.
-</p><hr><a name="msie_refresh"></a><strong>syntax</strong>:
-         <code>msie_refresh <code>on</code> | <code>off</code></code><br><strong>default</strong>:
-      <code>msie_refresh off</code><br><strong>context</strong>:
-      <code>http</code>, <code>server</code>, <code>location</code><br><p>
-Enables or disables issuing refreshes instead of redirects, for MSIE clients.
-</p><hr><a name="open_file_cache"></a><strong>syntax</strong>:
-         <code>open_file_cache
-<code>max</code>=<code><i>N</i></code>
-[<code>inactive</code>=<code><i>time</i></code>] |
-<code>off</code></code><br><strong>default</strong>:
-      <code>open_file_cache off</code><br><strong>context</strong>:
-      <code>http</code>, <code>server</code>, <code>location</code><br><p>
-Configures a cache that can store:
-<ul><li>
-open file descriptors, their sizes and modification times;
-</li><li>
-directory lookups;
-</li><li>
-file lookup errors, such as "file not found", "no read permission",
-and so on.
-Caching of errors should be enabled separately by the
-<a href="#open_file_cache_errors">open_file_cache_errors</a>
-directive.
-</li></ul></p><p>
-The directive has the following parameters:
-<dl compact><dt><code>max</code></dt><dd>
-sets the maximum number of elements in the cache;
-on cache overflow the least recently used (LRU) elements get removed;
-</dd><dt><code>inactive</code></dt><dd>
-defines a time, after which the element gets removed from the cache
-if there were no accesses to it during this time;
-by default, it is 60 seconds;
-</dd><dt><code>off</code></dt><dd>
-disables the cache.
-</dd></dl></p><p>
-Example:
-<blockquote><pre>
-open_file_cache          max=1000 inactive=20s;
-open_file_cache_valid    30s;
-open_file_cache_min_uses 2;
-open_file_cache_errors   on;
-</pre></blockquote></p><hr><a name="open_file_cache_errors"></a><strong>syntax</strong>:
-         <code>open_file_cache_errors <code>on</code> | <code>off</code></code><br><strong>default</strong>:
-      <code>open_file_cache_errors off</code><br><strong>context</strong>:
-      <code>http</code>, <code>server</code>, <code>location</code><br><p>
-Enables or disables caching of file lookup errors by the
-<a href="#open_file_cache">open_file_cache</a>.
-</p><hr><a name="open_file_cache_min_uses"></a><strong>syntax</strong>:
-         <code>open_file_cache_min_uses <code><i>number</i></code></code><br><strong>default</strong>:
-      <code>open_file_cache_min_uses 1</code><br><strong>context</strong>:
-      <code>http</code>, <code>server</code>, <code>location</code><br><p>
-Sets the minimum <code><i>number</i></code> of file accesses during
-the period configured by the <code>inactive</code> parameter
-of the <a href="#open_file_cache">open_file_cache</a> directive,
-after which a file descriptor will remain open in the cache.
-</p><hr><a name="open_file_cache_valid"></a><strong>syntax</strong>:
-         <code>open_file_cache_valid <code><i>time</i></code></code><br><strong>default</strong>:
-      <code>open_file_cache_valid 60</code><br><strong>context</strong>:
-      <code>http</code>, <code>server</code>, <code>location</code><br><p>
-Sets a time after which
-<a href="#open_file_cache">open_file_cache</a>
-elements should be validated.
-</p><hr><a name="optimize_server_names"></a><strong>syntax</strong>:
-         <code>optimize_server_names <code>on</code> | <code>off</code></code><br><strong>default</strong>:
-      <code>optimize_server_names on</code><br><strong>context</strong>:
-      <code>http</code>, <code>server</code><br><p>
-This directive is obsolete.
-</p><p>
-Enables or disables optimization of hostname checking in name-based
-virtual servers.
-In particular, the checking affects hostnames used in redirects.
-If optimization is enabled, and all name-based servers listening on
-the same address:port pair have identical configuration, then
-names are not checked during request processing, and the first
-server name is used in redirects.
-In case redirects should use hostnames sent by clients,
-optimization needs to be disabled.
-</p><hr><a name="port_in_redirect"></a><strong>syntax</strong>:
-         <code>port_in_redirect <code>on</code> | <code>off</code></code><br><strong>default</strong>:
-      <code>port_in_redirect on</code><br><strong>context</strong>:
-      <code>http</code>, <code>server</code>, <code>location</code><br><p>
-Enables or disables specifying the port in redirects issued by nginx.
-</p><hr><a name="read_ahead"></a><strong>syntax</strong>:
-         <code>read_ahead <code><i>size</i></code></code><br><strong>default</strong>:
-      <code>read_ahead 0</code><br><strong>context</strong>:
-      <code>http</code>, <code>server</code>, <code>location</code><br><p>
-Sets the amount of pre-reading when working with files, in the kernel.
-</p><p>
-On Linux, the
-<code>posix_fadvise(0, 0, 0, POSIX_FADV_SEQUENTIAL)</code>
-system call is used, so the <code><i>size</i></code> argument is ignored.
-</p><p>
-On FreeBSD, the
-<code>fcntl(O_READAHEAD,</code><code><i>size</i></code><code>)</code>
-system call is used, supported in FreeBSD 9.0-CURRENT.
-FreeBSD 7 needs to be
-<a href="http://sysoev.ru/freebsd/patch.readahead.txt">patched</a>.
-</p><hr><a name="recursive_error_pages"></a><strong>syntax</strong>:
-         <code>recursive_error_pages <code>on</code> | <code>off</code></code><br><strong>default</strong>:
-      <code>recursive_error_pages off</code><br><strong>context</strong>:
-      <code>http</code>, <code>server</code>, <code>location</code><br><p>
-Enables or disables doing several redirects using the
-<a href="#error_page">error_page</a>
-directive.
-</p><hr><a name="reset_timedout_connection"></a><strong>syntax</strong>:
-         <code>reset_timedout_connection
-        <code>on</code> | <code>off</code></code><br><strong>default</strong>:
-      <code>reset_timedout_connection off</code><br><strong>context</strong>:
-      <code>http</code>, <code>server</code>, <code>location</code><br><p>
-Enables or disables resetting of timed out connections.
-The reset is performed as follows: before closing a socket, the
-<code>SO_LINGER</code>
-option is set on it with a timeout value of 0.
-When the socket is closed, a client is sent TCP RST, and all memory
-occupied by this socket is freed.
-This avoids keeping of an already closed socket with filled buffers
-for a long time, in a FIN_WAIT1 state.
-</p><p>
-It should be noted that timed out keep-alive connections are still
-closed normally.
-</p><hr><a name="resolver"></a><strong>syntax</strong>:
-         <code>resolver <code><i>address</i></code></code><br><strong>default</strong>:
-      <strong>none</strong><br><strong>context</strong>:
-      <code>http</code>, <code>server</code>, <code>location</code><br><p>
-Sets the <code><i>address</i></code> of a name server, for example:
-<blockquote><pre>
-resolver 127.0.0.1;
-</pre></blockquote></p><hr><a name="resolver_timeout"></a><strong>syntax</strong>:
-         <code>resolver_timeout <code><i>time</i></code></code><br><strong>default</strong>:
-      <code>resolver_timeout 30s</code><br><strong>context</strong>:
-      <code>http</code>, <code>server</code>, <code>location</code><br><p>
-Sets a timeout for name resolution, for example:
-<blockquote><pre>
-resolver_timeout 5s;
-</pre></blockquote></p><hr><a name="root"></a><strong>syntax</strong>:
-         <code>root <code><i>path</i></code></code><br><strong>default</strong>:
-      <code>root html</code><br><strong>context</strong>:
-      <code>http</code>, <code>server</code>, <code>location</code>, <code>if in location</code><br><p>
-Sets the root directory for requests.
-For example, with the following configuration
-<blockquote><pre>
-location /i/ {
-    root /data/w3;
-}
-</pre></blockquote>&ldquo;<code>/i/top.gif</code>&rdquo; will be responded
-with the file
-&ldquo;<code>/data/w3/i/top.gif</code>&rdquo;.
-</p><p>
-The <code><i>path</i></code> value can contain variables.
-</p><p>
-A path to the file is constructed by merely adding a URI to the value
-of the <code>root</code> directive.
-If a URI need to be modified, the
-<a href="#alias">alias</a> directive should be used.
-</p><hr><a name="satisfy"></a><strong>syntax</strong>:
-         <code>satisfy <code>all</code> | <code>any</code></code><br><strong>default</strong>:
-      <code>satisfy all</code><br><strong>context</strong>:
-      <code>location</code><br><p>
-Allows access if any of the
-<a href="ngx_http_access_module.html">ngx_http_access_module</a>
-or <a href="ngx_http_auth_basic_module.html">ngx_http_auth_basic_module</a>
-modules grant access.
-<blockquote><pre>
-location / {
-    satisfy any;
-
-    allow 192.168.1.0/32;
-    deny  all;
-
-    auth_basic           "closed site";
-    auth_basic_user_file conf/htpasswd;
-}
-</pre></blockquote></p><hr><a name="satisfy_any"></a><strong>syntax</strong>:
-         <code>satisfy_any <code>on</code> | <code>off</code></code><br><strong>default</strong>:
-      <code>satisfy_any off</code><br><strong>context</strong>:
-      <code>location</code><br><p>
-This directive was renamed to the <a href="#satisfy">satisfy</a> directive.
-</p><hr><a name="send_timeout"></a><strong>syntax</strong>:
-         <code>send_timeout <code><i>time</i></code></code><br><strong>default</strong>:
-      <code>send_timeout 60</code><br><strong>context</strong>:
-      <code>http</code>, <code>server</code>, <code>location</code><br><p>
-Sets a timeout for transmitting a response to the client.
-A timeout is only set between two successive write operations,
-not for the transmission of the whole response.
-If a client does not receive anything within this time,
-a connection is closed.
-</p><hr><a name="sendfile"></a><strong>syntax</strong>:
-         <code>sendfile <code>on</code> | <code>off</code></code><br><strong>default</strong>:
-      <code>sendfile off</code><br><strong>context</strong>:
-      <code>http</code>, <code>server</code>, <code>location</code><br><p>
-Enables or disables the use of
-<code>sendfile()</code>.
-</p><hr><a name="server"></a><strong>syntax</strong>:
-         <code>server { ... }</code><br><strong>default</strong>:
-      <strong>none</strong><br><strong>context</strong>:
-      <code>http</code><br><p>
-Sets a configuration for the virtual server.
-There is no clean separation between IP-based (based on the IP address)
-and name-based (based on the <code>Host</code> request header field)
-virtual servers.
-Instead, the <a href="#listen">listen</a> directives describe all
-addresses and ports that should accept connections for a server, and the
-<a href="#server_name">server_name</a> directive lists all server names.
-An example configuration is provided in the
-<a href="../virtual_hosts.html">
-Setting Up Virtual Servers</a> document.
-</p><hr><a name="server_name"></a><strong>syntax</strong>:
-         <code>server_name <code><i>name</i></code> ...</code><br><strong>default</strong>:
-      <code>server_name hostname</code><br><strong>context</strong>:
-      <code>server</code><br><p>
-Sets names of the virtual server, for example:
-<blockquote><pre>
-server {
-    server_name example.com www.example.com;
-}
-</pre></blockquote></p><p>
-The first name becomes a primary server name.
-By default, the machine's hostname is used.
-Server names can include an asterisk (&ldquo;<code>*</code>&rdquo;)
-to replace the first or last part of a name:
-<blockquote><pre>
-server {
-    server_name example.com *.example.com www.example.*;
-}
-</pre></blockquote></p><p>
-The first two of the above mentioned names can be combined:
-<blockquote><pre>
-server {
-    server_name .example.com;
-}
-</pre></blockquote></p><p>
-It is also possible to use regular expressions in server names,
-prepending the name with a tilde (&ldquo;<code>~</code>&rdquo;):
-<blockquote><pre>
-server {
-    server_name www.example.com ~^www\d+\.example\.com$;
-}
-</pre></blockquote></p><p>
-Regular expressions can contain captures (0.7.40) that can later
-be used in other directives:
-<blockquote><pre>
-server {
-    server_name ~^(www\.)?(.+)$;
-
-    location / {
-        root /sites/$2;
-    }
-}
-
-server {
-    server_name _;
-
-    location / {
-        root /sites/default;
-    }
-}
-</pre></blockquote></p><p>
-Starting from version 0.8.25, named captures in regular expressions create
-variables that can later be used in other directives:
-<blockquote><pre>
-server {
-    server_name ~^(www\.)?(?&lt;domain&gt;.+)$;
-
-    location / {
-        root /sites/$domain;
-    }
-}
-
-server {
-    server_name _;
-
-    location / {
-        root /sites/default;
-    }
-}
-</pre></blockquote></p><p>
-Starting from version 0.7.11, it is possible to specify an empty name:
-<blockquote><pre>
-server {
-    server_name www.example.com "";
-}
-</pre></blockquote>
-It allows this server to process requests without the <code>Host</code>
-header, instead of the default server for the given address:port pair.
-</p><p>
-The name checking order is as follows:
-<ol><li>
-full names
-</li><li>
-names with the prefix mask, e.g. &ldquo;<code>*.example.com</code>&rdquo;</li><li>
-names with the suffix mask, e.g. &ldquo;<code>mail.*</code>&rdquo;</li><li>
-regular expressions
-</li></ol></p><hr><a name="server_name_in_redirect"></a><strong>syntax</strong>:
-         <code>server_name_in_redirect <code>on</code> | <code>off</code></code><br><strong>default</strong>:
-      <code>server_name_in_redirect on</code><br><strong>context</strong>:
-      <code>http</code>, <code>server</code>, <code>location</code><br><p>
-Enables or disables the use of the primary server name, specified by the
-<a href="#server_name">server_name</a>
-directive, in redirects issued by nginx.
-When disabled, the name from the <code>Host</code> request header field
-is used.
-If this field is not present, an IP address of the server is used.
-</p><hr><a name="server_names_hash_max_size"></a><strong>syntax</strong>:
-         <code>server_names_hash_max_size <code><i>size</i></code></code><br><strong>default</strong>:
-      <code>server_names_hash_max_size 512</code><br><strong>context</strong>:
-      <code>http</code><br><p>
-Sets the maximum <code><i>size</i></code> of the server names hash tables.
-For more information, please refer to
-<a href="../hash.html">Setting Up Hashes</a>.
-</p><hr><a name="server_names_hash_bucket_size"></a><strong>syntax</strong>:
-         <code>server_names_hash_bucket_size <code><i>size</i></code></code><br><strong>default</strong>:
-      <code>server_names_hash_bucket_size 32/64/128</code><br><strong>context</strong>:
-      <code>http</code><br><p>
-Sets the bucket size for the server names hash tables.
-Default value depends on the size of the processor's cache line.
-For more information, please refer to
-<a href="../hash.html">Setting Up Hashes</a>.
-</p><hr><a name="server_tokens"></a><strong>syntax</strong>:
-         <code>server_tokens <code>on</code> | <code>off</code></code><br><strong>default</strong>:
-      <code>server_tokens on</code><br><strong>context</strong>:
-      <code>http</code>, <code>server</code>, <code>location</code><br><p>
-Enables or disables emitting of nginx version in error messages and in the
-<code>Server</code> response header field.
-</p><hr><a name="tcp_nodelay"></a><strong>syntax</strong>:
-         <code>tcp_nodelay <code>on</code> | <code>off</code></code><br><strong>default</strong>:
-      <code>tcp_nodelay on</code><br><strong>context</strong>:
-      <code>http</code>, <code>server</code>, <code>location</code><br><p>
-Enables or disables the use of the <code>TCP_NODELAY</code> option.
-The option is enabled only when a connection is transitioned into the
-keep-alive state.
-</p><hr><a name="tcp_nopush"></a><strong>syntax</strong>:
-         <code>tcp_nopush <code>on</code> | <code>off</code></code><br><strong>default</strong>:
-      <code>tcp_nopush off</code><br><strong>context</strong>:
-      <code>http</code>, <code>server</code>, <code>location</code><br><p>
-Enables or disables the use of
-the <code>TCP_NOPUSH</code> socket option on FreeBSD
-or the <code>TCP_CORK</code> socket option on Linux.
-Opitons are enables only when <a href="#sendfile">sendfile</a> is used.
-Enabling the option allows to
-<ul><li>
-send the response header and the beginning of a file in one packet,
-on Linux and FreeBSD 4.*;
-</li><li>
-send a file in full packets.
-</li></ul></p><hr><a name="try_files"></a><strong>syntax</strong>:
-         <code>try_files
-        <code><i>file</i></code> ...
-	<code><i>uri</i></code></code><br><code>       </code><code>try_files
-        <code><i>file</i></code> ...
-        =<code><i>code</i></code></code><br><strong>default</strong>:
-      <strong>none</strong><br><strong>context</strong>:
-      <code>location</code><br><p>
-Checks the existence of files in the specified order, and uses
-the first found file for request processing; the processing
-is performed in this location's context.
-It is possible to check the directory existence by specifying
-the slash at the end of a name, e.g. &ldquo;<code>$uri/</code>&rdquo;.
-If none of the files were found, an internal redirect to the
-<code><i>uri</i></code> specified by the last argument is made.
-As of version 0.7.51, the last argument can also be a
-<code><i>code</i></code>:
-<blockquote><pre>
-location / {
-    try_files $uri $uri/index.html $uri.html =404;
-}
-</pre></blockquote></p><p>
-Example when proxying Mongrel:
-<blockquote><pre>
-location / {
-    try_files /system/maintenance.html
-              $uri $uri/index.html $uri.html
-              @mongrel;
-}
-
-location @mongrel {
-    proxy_pass http://mongrel;
-}
-</pre></blockquote></p><p>
-Example for Drupal/FastCGI:
-<blockquote><pre>
-location / {
-    try_files $uri $uri/ @drupal;
-}
-
-location ~ \.php$ {
-    try_files $uri @drupal;
-
-    fastcgi_pass ...;
-
-    fastcgi_param SCRIPT_FILENAME /path/to$fastcgi_script_name;
-    fastcgi_param SCRIPT_NAME     $fastcgi_script_name;
-    fastcgi_param QUERY_STRING    $args;
-
-    ... other fastcgi_param's
-}
-
-location @drupal {
-    fastcgi_pass ...;
-
-    fastcgi_param SCRIPT_FILENAME /path/to/index.php;
-    fastcgi_param SCRIPT_NAME     /index.php;
-    fastcgi_param QUERY_STRING    q=$uri&amp;$args;
-
-    ... other fastcgi_param's
-}
-</pre></blockquote>
-In the following example,
-<blockquote><pre>
-location / {
-    try_files $uri $uri/ @drupal;
-}
-</pre></blockquote>
-the <code>try_files</code> directive is equivalent to
-<blockquote><pre>
-location / {
-    error_page 404 = @drupal;
-    log_not_found off;
-}
-</pre></blockquote>
-And here,
-<blockquote><pre>
-location ~ \.php$ {
-    try_files $uri @drupal;
-
-    fastcgi_pass ...;
-
-    fastcgi_param SCRIPT_FILENAME /path/to$fastcgi_script_name;
-
-    ...
-}
-</pre></blockquote><code>try_files</code> checks the existence of the PHP file
-before passing the request to the FastCGI server.
-</p><p>
-Example for Wordpress and Joomla:
-<blockquote><pre>
-location / {
-    try_files $uri $uri/ @wordpress;
-}
-
-location ~ \.php$ {
-    try_files $uri @wordpress;
-
-    fastcgi_pass ...;
-
-    fastcgi_param SCRIPT_FILENAME /path/to$fastcgi_script_name;
-    ... other fastcgi_param's
-}
-
-location @wordpress {
-    fastcgi_pass ...;
-
-    fastcgi_param SCRIPT_FILENAME /path/to/index.php;
-    ... other fastcgi_param's
-}
-</pre></blockquote></p><hr><a name="types"></a><strong>syntax</strong>:
-         <code>types { ... }</code><br><strong>default</strong>:
-      <code>see below</code><br><strong>context</strong>:
-      <code>http</code>, <code>server</code>, <code>location</code><br><p>
-Maps file name extensions to MIME types of responses.
-Several extensions can map to one type.
-The following mappings are configured by default:
-<blockquote><pre>
-types {
-    text/html  html;
-    image/gif  gif;
-    image/jpeg jpg;
-}
-</pre></blockquote></p><p>
-A sufficiently full mapping table is distributed with nginx in the
-<code>conf/mime.types</code> file.
-</p><p>
-To make a particular location emit the
-&ldquo;<code>application/octet-stream</code>&rdquo;
-MIME type for all requests, try the following:
-<blockquote><pre>
-location /download/ {
-    types        { }
-    default_type application/octet-stream;
-}
-</pre></blockquote></p><hr><a name="underscores_in_headers"></a><strong>syntax</strong>:
-         <code>underscores_in_headers <code>on</code> | <code>off</code></code><br><strong>default</strong>:
-      <code>underscores_in_headers off</code><br><strong>context</strong>:
-      <code>http</code>, <code>server</code><br><p>
-Enables or disables the use of underscores in client request header fields.
-</p><a name="variables"></a><center><h4>Embedded Variables</h4></center><p>
-The module <code>ngx_http_core_module</code> supports embedded variables with
-names matching those of the Apache Server.
-First of all, these are variables representing client request header
-fields, such as, <code>$http_user_agent</code>, <code>$http_cookie</code>,
-and so on.
-It also supports other variables:
-<dl compact><dt><code>$args</code></dt><dd>
-arguments in the request line
-</dd><dt><code>$arg_</code><code><i>name</i></code></dt><dd>
-argument <code><i>name</i></code> in the request line
-</dd><dt><code>$binary_remote_addr</code></dt><dd>
-client address in a binary form, value's length is always 4 bytes
-</dd><dt><code>$content_length</code></dt><dd><code>Content-Length</code> request header field
-</dd><dt><code>$content_type</code></dt><dd><code>Content-Type</code> request header field
-</dd><dt><code>$cookie_</code><code><i>name</i></code></dt><dd>
-the <code><i>name</i></code> cookie
-</dd><dt><code>$document_root</code></dt><dd><a href="#root">root</a> directive's value for the current request
-</dd><dt><code>$document_uri</code></dt><dd>
-same as <code>$uri</code></dd><dt><code>$host</code></dt><dd><code>Host</code> request header field,
-or the server name matching a request if this field is not present
-</dd><dt><code>$hostname</code></dt><dd>
-host name
-</dd><dt><code>$http_</code><code><i>name</i></code></dt><dd>
-the <code><i>name</i></code> request header field
-</dd><dt><code>$is_args</code></dt><dd>&ldquo;<code>?</code>&rdquo; if a request line has arguments,
-or an empty string otherwise
-</dd><dt><code>$limit_rate</code></dt><dd>
-allows for connection rate limiting
-</dd><dt><code>$pid</code></dt><dd>
-PID of the worker process
-</dd><dt><code>$request_method</code></dt><dd>
-request method, usually
-&ldquo;<code>GET</code>&rdquo; or &ldquo;<code>POST</code>&rdquo;</dd><dt><code>$remote_addr</code></dt><dd>
-client address
-</dd><dt><code>$remote_port</code></dt><dd>
-client port
-</dd><dt><code>$remote_user</code></dt><dd>
-user name supplied with the Basic authentication
-</dd><dt><code>$realpath_root</code></dt><dd><a href="#root">root</a> directive's value
-for the current request, with all symbolic links resolved to real paths
-</dd><dt><code>$request_filename</code></dt><dd>
-file path for the current query, based on the
-<a href="#root">root</a> and <a href="#alias">alias</a>
-directives, and the request URI
-</dd><dt><code>$request_body</code></dt><dd>
-request body
-<p>
-The variable's value is made available in locations
-processed by the
-<a href="ngx_http_proxy_module.html#proxy_pass">proxy_pass</a>
-and
-<a href="ngx_http_fastcgi_module.html#fastcgi_pass">fastcgi_pass</a>
-directives.
-</p></dd><dt><code>$request_body_file</code></dt><dd>
-name of a temporary file with the request body
-<p>
-At the end of processing, the file needs to be removed.
-To always write a request body to a file,
-<a href="#client_body_in_file_only">client_body_in_file_only on</a>
-needs be specified.
-When passing the name of a temporary file in a proxied request,
-or in a request to a FastCGI server,
-passing of the request body should be disabled by the
-<a href="ngx_http_proxy_module.html#proxy_pass_request_body">proxy_pass_request_body</a>
-and
-<a href="ngx_http_fastcgi_module.html#fastcgi_pass_request_body">fastcgi_pass_request_body</a>
-directives, respectively.
-</p></dd><dt><code>$request_uri</code></dt><dd>
-full original request URI (with arguments)
-</dd><dt><code>$query_string</code></dt><dd>
-same as <code>$args</code></dd><dt><code>$scheme</code></dt><dd>
-request scheme, &ldquo;<code>http</code>&rdquo; or &ldquo;<code>https</code>&rdquo;</dd><dt><code>$server_protocol</code></dt><dd>
-request protocol, usually
-&ldquo;<code>HTTP/1.0</code>&rdquo;
-or
-&ldquo;<code>HTTP/1.1</code>&rdquo;</dd><dt><code>$server_addr</code></dt><dd>
-an address of the server which accepted a request
-<p>
-Computing a value of this variable usually requires one system call.
-To avoid a system call, the <code>listen</code> directives
-must specify addresses and use the <code>bind</code> parameter
-</p></dd><dt><code>$server_name</code></dt><dd>
-name of the server which accepted a request
-</dd><dt><code>$server_port</code></dt><dd>
-port of the server which accepted a request
-</dd><dt><code>$uri</code></dt><dd>
-current URI in request
-<p>
-It may differ from an original, e.g. when doing internal redirects,
-or when using index files.
-</p></dd></dl></p></body></html>
deleted file mode 100644
--- a/docs/html/http/ngx_http_mp4_module.html
+++ /dev/null
@@ -1,90 +0,0 @@
-<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><title>HTTP MP4 Module</title></head><body><center><h3>HTTP MP4 Module</h3></center><center><h4>Summary</h4></center><p>
-The module <code>ngx_http_mp4_module</code> provides pseudo-streaming
-server-side support for H.264/AAC files typically having filename extensions
-<code>.mp4</code>, <code>.m4v</code>,
-and <code>.m4a</code>.
-</p><p>
-Pseudo-streaming works in alliance with conformant Flash players.
-A player sends an HTTP request to the server with a start time
-argument in the request URI’s query string (named simply
-<code>start</code>
-and specified in seconds), and the server responds with a stream
-so that its start position corresponds to the requested time,
-for example:
-<blockquote><pre>
-http://example.com/elephants_dream.mp4?start=238.88
-</pre></blockquote>
-This allows for a random seeking at any time, or starting playback
-in the middle of a timeline.
-</p><p>
-To support seeking, H.264-based formats store the metadata
-in the so-called “moov atom.”
-It is a part of the file that holds the index information for the
-whole file.
-</p><p>
-To start playback, a player first needs to read metadata.
-This is done by sending a special request with the
-<code>start=0</code>
-argument.  Many encoding software will insert the metadata at
-the end of the file.  This is bad for pseudo-streaming:
-the metadata needs to be located at the beginning of the file,
-or else the entire file will have to be downloaded before it
-starts playing.  If a file is well-formed (with metadata at the
-beginning of a file), nginx just sends back the contents of a file.
-Otherwise, it has to read the file and prepare a new stream so that
-metadata comes before media data.
-This involves some CPU, memory, and disk I/O overhead,
-so it is a good idea to
-<a href="http://flowplayer.org/plugins/streaming/pseudostreaming.html#prepare">
-prepare an original file for pseudo-streaming</a>,
-rather than having nginx do this on every such request.
-</p><p>
-For a matching request with a non-zero
-<code>start</code>
-argument, nginx will read metadata from the file, prepare the
-stream starting from the requested offset, and send it to a client.
-This has the same overhead as described above.
-</p><p>
-If a matching request does not include the
-<code>start</code>
-argument, there is no overhead, and the file is just sent as a static resource.
-Some players also support byte-range requests, and thus do not require
-this module at all.
-</p><p>
-This module is not built by default, it should be enabled with the
-<code>--with-http_mp4_module</code>
-configuration parameter.
-
-If you were using the third-party mp4 module, be sure to disable it.
-</p><p>
-A similar pseudo-streaming support for FLV files is provided by the module
-<a href="ngx_http_flv_module.html">ngx_http_flv_module</a>.
-</p><a name="example"></a><center><h4>Example Configuration</h4></center><p><blockquote><pre>
-location /video/ {
-    mp4;
-    mp4_buffer_size     1m;
-    mp4_max_buffer_size 5m;
-}
-</pre></blockquote></p><a name="directives"></a><center><h4>Directives</h4></center><hr><a name="mp4"></a><strong>syntax</strong>:
-         <code>mp4</code><br><strong>default</strong>:
-      <strong>none</strong><br><strong>context</strong>:
-      <code>location</code><br><p>
-Turns on module processing in a surrounding location.
-</p><hr><a name="mp4_buffer_size"></a><strong>syntax</strong>:
-         <code>mp4_buffer_size <code><i>size</i></code></code><br><strong>default</strong>:
-      <code>mp4_buffer_size 512K</code><br><strong>context</strong>:
-      <code>http</code>, <code>server</code>, <code>location</code><br><p>
-Sets the initial size of a memory buffer used to process MP4 files.
-</p><hr><a name="mp4_max_buffer_size"></a><strong>syntax</strong>:
-         <code>mp4_max_buffer_size <code><i>size</i></code></code><br><strong>default</strong>:
-      <code>mp4_max_buffer_size 10M</code><br><strong>context</strong>:
-      <code>http</code>, <code>server</code>, <code>location</code><br><p>
-During metadata processing, a larger buffer may become necessary.
-Its size cannot exceed the specified <code><i>size</i></code>,
-or else nginx will return the server error
-500 (Internal Server Error),
-and log the following:
-<blockquote><pre>
-"/some/movie/file.mp4" mp4 moov atom is too large:
-12583268, you may want to increase mp4_max_buffer_size
-</pre></blockquote></p></body></html>
deleted file mode 100644
--- a/docs/html/ngx_core_module.html
+++ /dev/null
@@ -1,148 +0,0 @@
-<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><title>Core Module</title></head><body><center><h3>Core Module</h3></center><a name="example"></a><center><h4>Example Configuration</h4></center><p><blockquote><pre>
-user www www;
-worker_processes 2;
-
-error_log /var/log/nginx-error.log info;
-
-events {
-    use kqueue;
-    worker_connections 2048;
-}
-
-...
-</pre></blockquote></p><a name="directives"></a><center><h4>Directives</h4></center><hr><a name="daemon"></a><strong>syntax</strong>:
-         <code>daemon <code>on</code> | <code>off</code></code><br><strong>default</strong>:
-      <code>daemon on</code><br><strong>context</strong>:
-      <code>main</code><br><p>
-Determines whether nginx should become a daemon.
-Mainly used during development.
-</p><hr><a name="env"></a><strong>syntax</strong>:
-         <code>env <code><i>VAR</i></code>[=<code><i>VALUE</i></code>]</code><br><strong>default</strong>:
-      <code>env TZ</code><br><strong>context</strong>:
-      <code>main</code><br><p>
-Allows to limit a set of environment variables, change their values,
-or create new environment variables, for the following cases:
-<ul><li>
-variable inheritance during a
-<a href="control.html#upgrade">live upgrade</a>
-of an executable file;
-</li><li>
-use of variables by the module
-<a href="http/ngx_http_perl_module.html">ngx_http_perl_module</a>;
-</li><li>
-use of variables by worker processes.
-Please bear in mind that controlling system libraries in this way
-is not always possible as it is not uncommon for libraries to check
-variables only during initialization, well before they can be set
-using this directive.
-An exception from this is an above mentioned
-<a href="control.html#upgrade">live upgrade</a>
-of an executable file.
-</li></ul></p><p>
-The TZ variable is always inherited and made available to the module
-<a href="http/ngx_http_perl_module.html">ngx_http_perl_module</a>,
-unless configured explicitly.
-</p><p>
-Usage example:
-<blockquote><pre>
-env MALLOC_OPTIONS;
-env PERL5LIB=/data/site/modules;
-env OPENSSL_ALLOW_PROXY_CERTS=1;
-</pre></blockquote></p><hr><a name="include"></a><strong>syntax</strong>:
-         <code>include <code><i>file</i></code> | <code><i>mask</i></code></code><br><strong>default</strong>:
-      <strong>none</strong><br><strong>context</strong>:
-      <strong>any</strong><br><p>
-Includes another <code><i>file</i></code>, or files matching the
-specified <code><i>mask</i></code>, into configuration.
-Included files should consist of
-syntactically correct directives and blocks.
-</p><p>
-Usage example:
-<blockquote><pre>
-include mime.types;
-include vhosts/*.conf;
-</pre></blockquote></p><hr><a name="master_process"></a><strong>syntax</strong>:
-         <code>master_process <code>on</code> | <code>off</code></code><br><strong>default</strong>:
-      <code>master_process on</code><br><strong>context</strong>:
-      <code>main</code><br><p>
-Determines whether worker processes are started.
-This directive is intended for nginx developers.
-</p><hr><a name="pid"></a><strong>syntax</strong>:
-         <code>pid <code><i>file</i></code></code><br><strong>default</strong>:
-      <code>pid nginx.pid</code><br><strong>context</strong>:
-      <code>main</code><br><p>
-Defines a <code><i>file</i></code> which will store the process ID of the main process.
-</p><hr><a name="ssl_engine"></a><strong>syntax</strong>:
-         <code>ssl_engine <code><i>device</i></code></code><br><strong>default</strong>:
-      <strong>none</strong><br><strong>context</strong>:
-      <code>main</code><br><p>
-Defines the name of the hardware SSL accelerator.
-</p><hr><a name="user"></a><strong>syntax</strong>:
-         <code>user <code><i>user</i></code> [<code><i>group</i></code>]</code><br><strong>default</strong>:
-      <code>user nobody nobody</code><br><strong>context</strong>:
-      <code>main</code><br><p>
-Defines <code><i>user</i></code> and <code><i>group</i></code>
-credentials used by worker processes.
-If <code><i>group</i></code> is omitted, a group whose name equals
-that of <code><i>user</i></code> is used.
-</p><hr><a name="timer_resolution"></a><strong>syntax</strong>:
-         <code>timer_resolution <code><i>interval</i></code></code><br><strong>default</strong>:
-      <strong>none</strong><br><strong>context</strong>:
-      <code>main</code><br><p>
-Reduces timer resolution in worker processes, thus reducing the
-number of <code>gettimeofday()</code> system calls made.
-By default, <code>gettimeofday()</code> is called each time
-on receiving a kernel event.
-With reduced resolution, <code>gettimeofday()</code> is only
-called once per specified <code><i>interval</i></code>.
-</p><p>
-Example:
-<blockquote><pre>
-timer_resolution 100ms;
-</pre></blockquote></p><p>
-An internal implementation of interval depends on the method used:
-<ul><li>
-an <code>EVFILT_TIMER</code> filter if <code>kqueue</code> is used;
-</li><li><code>timer_create()</code> if <code>eventport</code> is used;
-</li><li><code>setitimer()</code> otherwise.
-</li></ul></p><hr><a name="worker_rlimit_core"></a><strong>syntax</strong>:
-         <code>worker_rlimit_core <code><i>size</i></code></code><br><strong>default</strong>:
-      <strong>none</strong><br><strong>context</strong>:
-      <code>main</code><br><p>
-Changes the limit on the largest size of a core file
-(<code>RLIMIT_CORE</code>) for worker processes.
-Used to increase the limit without restarting the main process.
-</p><hr><a name="worker_rlimit_nofile"></a><strong>syntax</strong>:
-         <code>worker_rlimit_nofile <code><i>number</i></code></code><br><strong>default</strong>:
-      <strong>none</strong><br><strong>context</strong>:
-      <code>main</code><br><p>
-Changes the limit on the maximum number of open files
-(<code>RLIMIT_NOFILE</code>) for worker processes.
-Used to increase the limit without restarting the main process.
-</p><hr><a name="worker_priority"></a><strong>syntax</strong>:
-         <code>worker_priority <code><i>number</i></code></code><br><strong>default</strong>:
-      <code>worker_priority 0</code><br><strong>context</strong>:
-      <code>main</code><br><p>
-Defines a scheduling priority for worker processes like is
-done by the <code>nice</code>: a negative
-<code><i>number</i></code>
-means higher priority.
-Allowed range normally varies from -20 to 20.
-</p><p>
-Example:
-<blockquote><pre>
-worker_priority -10;
-</pre></blockquote></p><hr><a name="worker_processes"></a><strong>syntax</strong>:
-         <code>worker_processes <code><i>number</i></code></code><br><strong>default</strong>:
-      <code>worker_processes 1</code><br><strong>context</strong>:
-      <code>main</code><br><p>
-Defines the number of worker processes.
-</p><hr><a name="working_directory"></a><strong>syntax</strong>:
-         <code>working_directory <code><i>directory</i></code></code><br><strong>default</strong>:
-      <strong>none</strong><br><strong>context</strong>:
-      <code>main</code><br><p>
-Defines a current working directory for a worker process.
-It is primarily used when writing a core-file, in which case
-a working process should have write permission for the
-specified directory.
-</p></body></html>
deleted file mode 100644
--- a/docs/xml/http/ngx_http_core_module.xml
+++ /dev/null
@@ -1,2194 +0,0 @@
-<?xml version="1.0"?>
-
-<!DOCTYPE module SYSTEM "../../dtd/module.dtd">
-
-<module name="HTTP Core Module" id="http_core_module">
-
-<section id="directives" name="Directives">
-
-<directive name="aio" appeared-in="0.8.11">
-<syntax>aio
-        <value>on</value> |
-        <value>off</value> |
-        <value>sendfile</value>
-</syntax>
-<default>aio off</default>
-<context>http</context>
-<context>server</context>
-<context>location</context>
-
-<para>
-Enables or disables the use of asynchronous file I/O (AIO)
-on FreeBSD and Linux.
-</para>
-
-<para>
-On FreeBSD, AIO is usable starting from FreeBSD&nbsp;4.3.
-AIO can either be linked statically into a kernel:
-<example>
-options VFS_AIO
-</example>
-or loaded dynamically as a kernel loadable module:
-<example>
-kldload aio
-</example>
-</para>
-
-<para>
-In FreeBSD versions 5 and 6, enabling AIO statically, or dynamically
-when booting the kernel, will cause the entire networking subsystem
-to use the Giant lock that can impact overall performance negatively.
-This limitation has been removed in FreeBSD&nbsp;6.4-STABLE in 2009, and in
-FreeBSD&nbsp;7.
-However, starting from FreeBSD&nbsp;5.3 it is possible to enable AIO
-without the penalty of running the networking subsystem under a
-Giant lock&mdash;for this to work, the AIO module needs to be loaded
-after the kernel has booted.
-In this case, the following message will appear in
-<pathname>/var/log/messages</pathname>
-<example>
-WARNING: Network stack Giant-free, but aio requires Giant.
-Consider adding 'options NET_WITH_GIANT' or setting debug.mpsafenet=0
-</example>
-and can safely be ignored.
-<note>
-The requirement to use the Giant lock with AIO is related to the
-fact that FreeBSD supports asynchronous calls
-<c-func>aio_read</c-func>
-and
-<c-func>aio_write</c-func>
-when working with sockets.
-However, since nginx only uses AIO for disk I/O, no problems should arise.
-</note>
-</para>
-
-<para>
-For AIO to work,
-<link id="sendfile">sendfile</link>
-needs to be disabled:
-<example>
-location /video/ {
-    sendfile       off;
-    aio            on;
-    output_buffers 1 64k;
-}
-</example>
-</para>
-
-<para>
-In addition, starting from FreeBSD&nbsp;5.2.1 and nginx&nbsp;0.8.12, AIO can
-also be used to pre-load data for <c-func>sendfile</c-func>:
-<example>
-location /video/ {
-    sendfile       on;
-    tcp_nopush     on;
-    aio            sendfile;
-}
-</example>
-In this configuration, <c-func>sendfile</c-func> is called with
-the <c-def>SF_NODISKIO</c-def> flag which causes it not to
-block on disk I/O and instead report back when the data are not in
-memory; nginx then initiates an asynchronous data load by reading
-one byte. The FreeBSD kernel then loads the first 128K bytes
-of a file into memory, however next reads will only load data
-in 16K chunks. This can be tuned using the
-<link id="read_ahead">read_ahead</link>
-directive.
-</para>
-
-<para>
-On Linux, AIO is usable starting from kernel version 2.6.22;
-plus, it is also necessary to enable
-<link id="directio">directio</link>,
-otherwise reading will be blocking:
-<example>
-location /video/ {
-    aio            on;
-    directio       512;
-    output_buffers 1 128k;
-}
-</example>
-</para>
-
-<para>
-On Linux,
-<link id="directio">directio</link>
-can only be used for reading blocks that are aligned on 512-byte
-boundaries (or 4K for XFS).
-Reading of unaligned file's end is still made in blocking mode.
-The same holds true for byte range requests, and for FLV requests
-not from the beginning of a file: reading of unaligned data at the
-beginning and end of a file will be blocking.
-There is no need to turn off
-<link id="sendfile">sendfile</link>
-explicitly as it is turned off automatically when
-<link id="directio">directio</link>
-is used.
-</para>
-
-</directive>
-
-
-<directive name="alias">
-<syntax>alias <argument>path</argument></syntax>
-<default/>
-<context>location</context>
-
-<para>
-Defines a replacement for the specified location.
-For example, with the following configuration
-<example>
-location /i/ {
-    alias /data/w3/images/;
-}
-</example>
-the request of
-<dq><code>/i/top.gif</code></dq> will be responded
-with the file
-<dq><pathname>/data/w3/images/top.gif</pathname></dq>.
-</para>
-
-<para>
-The <argument>path</argument> value can contain variables.
-</para>
-
-<para>
-If <code>alias</code> is used inside a location defined
-with a regular expression then such regular expression should
-contain captures and <code>alias</code> should refer to
-these captures (0.7.40), for example:
-<example>
-location ~ ^/users/(.+\.(?:gif|jpe?g|png))$ {
-    alias /data/w3/images/$1;
-}
-</example>
-</para>
-
-<para>
-When location matches the last part of the directive's value:
-<example>
-location /images/ {
-    alias /data/w3/images/;
-}
-</example>
-it is better to use the
-<link id="root">root</link>
-directive instead:
-<example>
-location /images/ {
-    root /data/w3;
-}
-</example>
-</para>
-
-</directive>
-
-
-<directive name="client_body_in_file_only">
-<syntax>client_body_in_file_only
-        <value>on</value> |
-        <value>clean</value> |
-        <value>off</value>
-</syntax>
-<default>client_body_in_file_only off</default>
-<context>http</context>
-<context>server</context>
-<context>location</context>
-
-<para>
-Determines whether nginx should save the entire client request body
-into a file.
-This directive can be used during debugging, or when using the
-<var>$request_body_file</var>
-variable, or the
-<link doc="ngx_http_perl_module.xml" id="methods">$r->request_body_file</link>
-method of the module
-<link doc="ngx_http_perl_module.xml">ngx_http_perl_module</link>.
-</para>
-
-<para>
-When set to the value <value>on</value>, temporary files are not
-removed after request processing.
-</para>
-
-<para>
-The value <value>clean</value> will cause the temporary files
-left after request processing to be removed.
-</para>
-
-</directive>
-
-
-<directive name="client_body_in_single_buffer">
-<syntax>client_body_in_single_buffer <value>on</value> | <value>off</value>
-</syntax>
-<default>client_body_in_single_buffer off</default>
-<context>http</context>
-<context>server</context>
-<context>location</context>
-
-<para>
-Determines whether nginx should save the entire client request body
-in a single buffer.
-The directive is recommended when using the
-<var>$request_body</var>
-variable, to save the number of copy operations involved.
-</para>
-
-</directive>
-
-
-<directive name="client_body_buffer_size">
-
-<syntax>client_body_buffer_size <argument>size</argument></syntax>
-<default>client_body_buffer_size 8k/16k</default>
-<context>http</context>
-<context>server</context>
-<context>location</context>
-
-<para>
-Sets buffer size for reading client request body.
-In case request body is larger than the buffer,
-the whole body or only its part is written to a temporary file.
-<!-- ссылку на соотв. директивы про временные файлы? -->
-By default, buffer size is equal to two memory pages.
-This is 8K on x86, other 32-bit platforms, and x86-64.
-It is usually 16K on other 64-bit platforms.
-</para>
-
-</directive>
-
-
-<directive name="client_body_temp_path">
-<syntax>client_body_temp_path
-        <argument>path</argument>
-        [<argument>level1</argument>
-        [<argument>level2</argument>
-        [<argument>level3</argument>]]]
-</syntax>
-<default>client_body_temp_path client_body_temp</default>
-<context>http</context>
-<context>server</context>
-<context>location</context>
-
-<para>
-Defines a directory for storing temporary files holding client request bodies.
-Up to three-level subdirectory hierarchy can be used underneath the specified
-directory.
-For example, in the following configuration
-<example>
-client_body_temp_path /spool/nginx/client_temp 1 2;
-</example>
-a temporary file might look like this:
-<example>
-/spool/nginx/client_temp/7/45/00000123457
-</example>
-</para>
-
-</directive>
-
-
-<directive name="client_body_timeout">
-<syntax>client_body_timeout <argument>time</argument></syntax>
-<default>client_body_timeout 60</default>
-<context>http</context>
-<context>server</context>
-<context>location</context>
-
-<para>
-Defines a timeout for reading client request body.
-A timeout is only set between two successive read operations,
-not for the transmission of the whole request body.
-If a client does not transmit anything within this time,
-the client error
-<http-status code="408" text="Request Time-out"/>
-is returned.
-</para>
-
-</directive>
-
-
-<directive name="client_header_buffer_size">
-<syntax>client_header_buffer_size <argument>size</argument></syntax>
-<default>client_header_buffer_size 1k</default>
-<context>http</context>
-<context>server</context>
-
-<para>
-Sets buffer size for reading client request header.
-For most requests, a buffer of 1K bytes is enough.
-However, if a request includes long cookies, or comes from a WAP client,
-it may not fit into 1K.
-If a request line, or a request header field do not fit entirely into
-this buffer then larger buffers are allocated, configured by the
-<link id="large_client_header_buffers">large_client_header_buffers</link>
-directive.
-</para>
-
-</directive>
-
-
-<directive name="client_header_timeout">
-<syntax>client_header_timeout <argument>time</argument></syntax>
-<default>client_header_timeout 60</default>
-<context>http</context>
-<context>server</context>
-
-<para>
-Defines a timeout for reading client request header.
-If a client does not transmit the entire header within this time,
-the client error
-<http-status code="408" text="Request Time-out"/>
-is returned.
-</para>
-
-</directive>
-
-
-<directive name="client_max_body_size">
-<syntax>client_max_body_size <argument>size</argument></syntax>
-<default>client_max_body_size 1m</default>
-<context>http</context>
-<context>server</context>
-<context>location</context>
-
-<para>
-Sets the maximum allowed size of the client request body,
-specified in the
-<header>Content-Length</header>
-request header field.
-If it exceeds the configured value, the client error
-<http-status code="413" text="Request Entity Too Large"/>
-is returned.
-Please be aware that
-<link doc="/web/upload.xml">browsers cannot correctly display
-this error</link>.
-</para>
-
-</directive>
-
-
-<directive name="default_type">
-<syntax>default_type <argument>mime-type</argument></syntax>
-<default>default_type text/plain</default>
-<context>http</context>
-<context>server</context>
-<context>location</context>
-
-<para>
-Defines a default MIME-type of a response.
-</para>
-
-</directive>
-
-
-<directive name="directio" appeared-in="0.7.7">
-<syntax>directio <argument>size</argument> | <value>off</value></syntax>
-<default>directio off</default>
-<context>http</context>
-<context>server</context>
-<context>location</context>
-
-<para>
-Enables the use of
-the <c-def>O_DIRECT</c-def> flag (FreeBSD, Linux),
-the <c-def>F_NOCACHE</c-def> flag (Mac OS X),
-or the <c-func>directio</c-func> function (Solaris),
-when reading files that are larger than the specified <argument>size</argument>.
-It automatically disables (0.7.15) the use of
-<link id="sendfile">sendfile</link>
-for a given request.
-It could be useful for serving large files:
-<example>
-directio 4m;
-</example>
-or when using <link id="aio">aio</link> on Linux.
-</para>
-
-</directive>
-
-
-<directive name="directio_alignment" appeared-in="0.8.11">
-<syntax>directio_alignment <argument>size</argument></syntax>
-<default>directio_alignment 512</default>
-<context>http</context>
-<context>server</context>
-<context>location</context>
-
-<para>
-Sets an alignment for
-<link id="directio">directio</link>.
-In most cases, a 512-byte alignment is enough, however, when
-using XFS under Linux, it needs to be increased to 4K.
-</para>
-
-</directive>
-
-
-<directive name="error_page">
-<syntax>error_page
-        <argument>code</argument> ...
-        [<value>=</value>[<argument>response</argument>]]
-        <argument>uri</argument>
-</syntax>
-<default/>
-<context>http</context>
-<context>server</context>
-<context>location</context>
-<context>if in location</context>
-
-<para>
-Defines the URI that will be shown for the specified errors.
-These directives are inherited from the previous level if and
-only if there are no
-<code>error_page</code>
-directives on
-the current level.
-A URI value can contain variables.
-</para>
-
-<para>
-Example:
-<example>
-error_page 404         /404.html;
-error_page 502 503 504 /50x.html;
-error_page 403         http://example.com/forbidden.html;
-</example>
-</para>
-
-<para>
-Furthermore, it is possible to change the response code to another, for example:
-<example>
-error_page 404 =200 /empty.gif;
-</example>
-</para>
-
-<para>
-If an error response is processed by a proxied server, or a FastCGI server,
-and the server may return different response codes (e.g., 200, 302, 401
-or 404), it is possible to respond with a returned code:
-<example>
-error_page 404 = /404.php;
-</example>
-</para>
-
-<para>
-If there is no need to change URI during redirection it is possible to redirect
-error processing into a named location:
-<example>
-location / {
-    error_page 404 = @fallback;
-}
-
-location @fallback {
-    proxy_pass http://backend;
-}
-</example>
-</para>
-
-</directive>
-
-
-<directive name="if_modified_since" appeared-in="0.7.24">
-<syntax>if_modified_since
-        <value>off</value> |
-        <value>exact</value> |
-        <value>before</value>
-</syntax>
-<default>if_modified_since exact</default>
-<context>http</context>
-<context>server</context>
-<context>location</context>
-
-<para>
-Specifies how to compare modification time of a response
-with the time in the
-<header>If-Modified-Since</header>
-request header:
-
-<list type="tag">
-
-<tag-name><value>off</value></tag-name>
-<tag-desc>
-the
-<header>If-Modified-Since</header> request header is ignored (0.7.34);
-</tag-desc>
-
-<tag-name><value>exact</value></tag-name>
-<tag-desc>
-exact match;
-</tag-desc>
-
-<tag-name><value>before</value></tag-name>
-<tag-desc>
-modification time of a response is
-less than or equal to the time in the <header>If-Modified-Since</header>
-request header.
-</tag-desc>
-
-</list>
-</para>
-
-</directive>
-
-
-<directive name="internal">
-<syntax>internal</syntax>
-<default/>
-<context>location</context>
-
-<para>
-Specifies that a given location can only be used for internal requests.
-For external requests, the client error
-<http-status code="404" text="Not Found"/>
-is returned.
-Internal requests are the following:
-
-<list type="bullet">
-
-<listitem>
-requests redirected by the <link id="error_page">error_page</link> directive;
-</listitem>
-
-<listitem>
-subrequests formed by the
-<command>include virtual</command>
-command of the module
-<link doc="ngx_http_ssi_module.xml">ngx_http_ssi_module</link>;
-</listitem>
-
-<listitem>
-requests changed by the
-<link doc="ngx_http_rewrite_module.xml" id="rewrite">rewrite</link>
-directive of the module
-<link doc="ngx_http_rewrite_module.xml">ngx_http_rewrite_module</link>.
-</listitem>
-
-</list>
-</para>
-
-<para>
-Example:
-<example>
-error_page 404 /404.html;
-
-location /404.html {
-    internal;
-}
-</example>
-</para>
-
-</directive>
-
-
-<directive name="keepalive_requests" appeared-in="0.8.0">
-<syntax>keepalive_requests <argument>number</argument></syntax>
-<default>keepalive_requests 100</default>
-<context>http</context>
-<context>server</context>
-<context>location</context>
-
-<para>
-Sets the maximum number of requests that can be
-made through one keep-alive connection.
-</para>
-
-</directive>
-
-
-<directive name="keepalive_timeout">
-<syntax>keepalive_timeout
-        <argument>time</argument>
-        [<argument>time</argument>]
-</syntax>
-<default>keepalive_timeout 75</default>
-<context>http</context>
-<context>server</context>
-<context>location</context>
-
-<para>
-The first argument sets a timeout during which a keep-alive
-client connection will stay open on the server side.
-The optional second argument sets a value in the
-<dq><header>Keep-Alive: timeout=<argument>time</argument></header></dq>
-response header.
-Two arguments may differ.
-</para>
-
-<para>
-The
-<dq><header>Keep-Alive: timeout=</header></dq>
-is understood by Mozilla and Konqueror.
-MSIE will close keep-alive connection in about 60 seconds.
-</para>
-
-</directive>
-
-
-<directive name="large_client_header_buffers">
-<syntax>large_client_header_buffers <argument>number size</argument></syntax>
-<default>large_client_header_buffers 4 4k/8k</default>
-<context>http</context>
-<context>server</context>
-
-<para>
-Sets the maximum <argument>number</argument> and <argument>size</argument> of
-buffers used when reading large client request headers.
-A request line cannot exceed the size of one buffer, or the client error
-<http-status code="414" text="Request-URI Too Large"/>
-is returned.
-A request header field cannot exceed the size of one buffer as well, or the
-client error
-<http-status code="400" text="Bad Request"/>
-is returned.
-Buffers are allocated only on demand.
-By default, the buffer size is equal to one memory page size.
-It is either 4K or 8K, platform dependent.
-If after the end of request processing a connection is transitioned
-into the keep-alive state, these buffers are freed.
-</para>
-
-</directive>
-
-
-<directive name="limit_except">
-<syntax>limit_except <argument>method</argument> ... { ... }</syntax>
-<default/>
-<context>location</context>
-
-<para>
-Limits allowed HTTP methods inside a location.
-The GET method also implies the HEAD method.
-Access to other methods can be limited using the
-<link doc="ngx_http_access_module.xml">ngx_http_access_module</link>
-and
-<link doc="ngx_http_auth_basic_module.xml">ngx_http_auth_basic_module</link>
-modules directives:
-<example>
-limit_except GET {
-    allow 192.168.1.0/32;
-    deny  all;
-}
-</example>
-Please note that this will limit access to all methods
-<emphasis>except</emphasis> GET and HEAD.
-</para>
-
-</directive>
-
-
-<directive name="limit_rate">
-<syntax>limit_rate <argument>rate</argument></syntax>
-<default/>
-<context>http</context>
-<context>server</context>
-<context>location</context>
-<context>if in location</context>
-
-<para>
-Rate limits the transmission of a response to a client.
-The <argument>rate</argument> is specified in bytes per second.
-<!--
-The smaller the rate, the more accurate will be the limitation.
--->
-The limit is per connection, so if a single client opens 2 connections,
-an overall rate will be 2x more than specified.
-</para>
-
-<para>
-This directive is not applicable if one wants to rate limit
-a group of clients on the
-<link id="server">server</link>
-level.
-If that is the case, the desired limit can be specified in the
-<var>$limit_rate</var>
-variable:
-<example>
-server {
-
-    if ($slow) {
-        set $limit_rate 4k;
-    }
-
-    ...
-}
-</example>
-</para>
-
-</directive>
-
-
-<directive name="limit_rate_after" appeared-in="0.8.0">
-<syntax>limit_rate_after <argument>size</argument></syntax>
-<default/>
-<context>http</context>
-<context>server</context>
-<context>location</context>
-<context>if in location</context>
-
-<para>
-Sets the initial amount after which the further transmission
-of a response to a client will be rate limited.
-</para>
-
-<para>
-Example:
-<example>
-location /flv/ {
-    flv;
-    limit_rate_after 500k;
-    limit_rate       50k;
-}
-</example>
-</para>
-
-</directive>
-
-
-<directive name="listen">
-<syntax>listen
-        <argument>address</argument>[:<argument>port</argument>]
-        [<parameter>default</parameter> | <parameter>default_server</parameter>
-        [<parameter>backlog</parameter>=<argument>number</argument>]
-        [<parameter>rcvbuf</parameter>=<argument>size</argument>]
-        [<parameter>sndbuf</parameter>=<argument>size</argument>]
-        [<parameter>accept_filter</parameter>=<argument>filter</argument>]
-        [<parameter>deferred</parameter>]
-        [<parameter>bind</parameter>]
-        [<parameter>ipv6only</parameter>=<value>on</value>|<value>off</value>]
-        [<parameter>ssl</parameter>]]
-</syntax>
-<syntax>listen
-        <argument>port</argument>
-        [<parameter>default</parameter> | <parameter>default_server</parameter>
-        [<parameter>backlog</parameter>=<argument>number</argument>]
-        [<parameter>rcvbuf</parameter>=<argument>size</argument>]
-        [<parameter>sndbuf</parameter>=<argument>size</argument>]
-        [<parameter>accept_filter</parameter>=<argument>filter</argument>]
-        [<parameter>deferred</parameter>]
-        [<parameter>bind</parameter>]
-        [<parameter>ipv6only</parameter>=<value>on</value>|<value>off</value>]
-        [<parameter>ssl</parameter>]]
-</syntax>
-<default>listen *:80 | *:8000</default>
-<context>server</context>
-
-<para>
-Sets an <argument>address</argument> and a <argument>port</argument>, on which
-the server will accept requests.
-Only one of <argument>address</argument> or <argument>port</argument> can be
-specified.
-An <argument>address</argument> may also be a hostname, for example:
-<example>
-listen 127.0.0.1:8000;
-listen 127.0.0.1;
-listen 8000;
-listen *:8000;
-listen localhost:8000;
-</example>
-IPv6 addresses (0.7.36) are specified in square brackets:
-<example>
-listen [::]:8000;
-listen [fe80::1];
-</example>
-</para>
-
-<para>
-If only <argument>address</argument> is given, the port 80 is used.
-</para>
-
-<para>
-If directive is not present then either the <code>*:80</code> is used
-if nginx runs with superuser privileges, or <code>*:8000</code> otherwise.
-</para>
-
-<para>
-The <parameter>default</parameter> parameter, if present,
-will cause the server to become the default server for the specified
-<argument>address</argument>:<argument>port</argument> pair.
-If none of the directives have the <parameter>default</parameter>
-parameter then the first server with the
-<argument>address</argument>:<argument>port</argument> pair will be
-the default server for this pair.
-Starting from version 0.8.21 it is possible to use the
-<parameter>default_server</parameter>
-parameter.
-</para>
-
-<para>
-A <code>listen</code> directive which has the <parameter>default</parameter>
-parameter can have several additional parameters specific to system calls
-<c-func>listen</c-func> and <c-func>bind</c-func>.
-Starting from version 0.8.21, these parameters can be specified in any
-<code>listen</code> directive, but only once for the given
-<argument>address</argument>:<argument>port</argument> pair.
-<list type="tag">
-
-<tag-name>
-<parameter>backlog</parameter>=<argument>number</argument>
-</tag-name>
-<tag-desc>
-sets the <parameter>backlog</parameter> parameter in the
-<c-func>listen</c-func> call.
-By default, <parameter>backlog</parameter> equals -1 on FreeBSD
-and 511 on other platforms.
-</tag-desc>
-
-<tag-name>
-<parameter>rcvbuf</parameter>=<argument>size</argument>
-</tag-name>
-<tag-desc>
-sets the <c-def>SO_RCVBUF</c-def> parameter for the listening socket.
-</tag-desc>
-
-<tag-name>
-<parameter>sndbuf</parameter>=<argument>size</argument>
-</tag-name>
-<tag-desc>
-sets the <c-def>SO_SNDBUF</c-def> parameter for the listening socket.
-</tag-desc>
-
-<tag-name>
-<parameter>accept_filter</parameter>=<argument>filter</argument>
-</tag-name>
-<tag-desc>
-sets the name of the accept filter.
-This works only on FreeBSD, acceptable values are <value>dataready</value>
-and <value>httpready</value>.
-On receipt of the <c-def>SIGHUP</c-def> signal, an accept filter can only be
-changed in recent versions of FreeBSD, starting from 6.0, 5.4-STABLE
-and 4.11-STABLE.
-</tag-desc>
-
-<tag-name>
-<parameter>deferred</parameter>
-</tag-name>
-<tag-desc>
-instructs to use a deferred <c-func>accept</c-func> on Linux
-using the <c-def>TCP_DEFER_ACCEPT</c-def> option.
-</tag-desc>
-
-<tag-name>
-<parameter>bind</parameter>
-</tag-name>
-<tag-desc>
-specifies to make a separate <c-func>bind</c-func> call for a given
-<argument>address</argument>:<argument>port</argument> pair.
-This is because nginx will only <c-func>bind</c-func> to
-<code>*</code>:<argument>port</argument>
-if there are several <code>listen</code> directives with
-the same port but different addresses, and one of the
-<code>listen</code> directives listens on all addresses
-for the given port (<code>*</code>:<argument>port</argument>).
-It should be noted that in this case a <c-func>getsockname</c-func>
-system call will be made to determine an address that accepted a
-connection.
-If parameters <parameter>backlog</parameter>, <parameter>rcvbuf</parameter>,
-<parameter>sndbuf</parameter>, <parameter>accept_filter</parameter>, or
-<parameter>deferred</parameter> are used then for a given
-<argument>address</argument>:<argument>port</argument> pair
-a separate <c-func>bind</c-func> call will always be made.
-</tag-desc>
-
-<tag-name>
-<parameter>ipv6only</parameter>=<value>on</value>|<value>off</value>
-</tag-name>
-<tag-desc>
-this parameter (0.7.42) sets the value of the <c-def>IPV6_V6ONLY</c-def>
-parameter for the listening socket.
-This parameter can only be set once on start.
-</tag-desc>
-
-<tag-name>
-<parameter>ssl</parameter>
-</tag-name>
-<tag-desc>
-this parameter (0.7.14) does not relate to system calls
-<c-func>listen</c-func> and <c-func>bind</c-func>, but allows to
-specify that all connections accepted on this port should work in
-the SSL mode.
-This allows for a more compact configuration for the server operating
-in both HTTP and HTTPS modes simultaneously.
-<example>
-listen 80;
-listen 443 default ssl;
-</example>
-</tag-desc>
-
-</list>
-</para>
-
-<para>
-Example:
-<example>
-listen 127.0.0.1 default accept_filter=dataready backlog=1024;
-</example>
-</para>
-
-</directive>
-
-
-<directive name="location">
-<syntax>location [
-        <value>=</value> |
-	<value>~</value> |
-	<value>~*</value> |
-	<value>^~</value> |
-	<value>@</value>
-	] <argument>uri</argument>
-{ ... }</syntax>
-<default/>
-<context>server</context>
-<!--
-<context>location</context>
--->
-
-<para>
-Sets a configuration based on a request URI.
-A location can either be defined by a prefix string, or by a regular expression.
-Regular expressions are specified by prepending them with the
-<dq><value>~*</value></dq> prefix (for case-insensitive matching), or with the
-<dq><value>~</value></dq> prefix (for case-sensitive matching).
-To find a location matching a given request, nginx first checks
-locations defined using the prefix strings (prefix locations).
-Amongst them, the most specific one is searched.
-Then regular expressions are checked, in the order of their appearance
-in a configuration file.
-A search terminates on the first match, and its corresponding
-configuration is used.
-If no match with a regular expression location is found then a
-configuration of the most specific prefix location is used.
-</para>
-
-<para>
-For case-insensitive operating systems such as Mac OS X and Cygwin,
-the string matching ignores a case (0.7.7).
-However, comparison is limited to one-byte locales.
-</para>
-
-<para>
-Regular expressions can contain captures (0.7.40) that can later
-be used in other directives.
-</para>
-
-<para>
-If the most specific prefix location has the <dq><value>^~</value></dq> prefix
-then regular expressions are not checked.
-</para>
-
-<para>
-Also, using the <dq><value>=</value></dq> prefix it is possible to define
-an exact match of URI and location.
-If an exact match is found, the search terminates.
-For example, if a <dq><code>/</code></dq> request happens frequently,
-defining <dq><code>location = /</code></dq> will speed up the processing
-of these requests, as search terminates right after the first
-comparison.
-</para>
-
-<para>
-In versions from 0.7.1 to 0.8.41, if a request matched the prefix
-location without the <dq><value>=</value></dq> and <dq><value>^~</value></dq>
-prefixes, the search also terminated and regular expressions were
-not checked.
-</para>
-
-<para>
-Let's illustrate the above by example:
-<example>
-location = / {
-    [ configuration A ]
-}
-
-location / {
-    [ configuration B ]
-}
-
-location ^~ /images/ {
-    [ configuration C ]
-}
-
-location ~* \.(gif|jpg|jpeg)$ {
-    [ configuration D ]
-}
-</example>
-The <dq><code>/</code></dq> request will match configuration A,
-the <dq><code>/documents/document.html</code></dq> request will match
-configuration B,
-the <dq><code>/images/1.gif</code></dq> request will match configuration C, and
-the <dq><code>/documents/1.jpg</code></dq> request will match configuration D.
-</para>
-
-<para>
-The <dq><value>@</value></dq> prefix defines a named location.
-Such a location is not used for a regular request processing, but instead
-used for request redirection.
-</para>
-
-<!--
-<migration from="Apache" directive="Location" />
--->
-
-</directive>
-
-
-<directive name="log_not_found">
-<syntax>log_not_found <value>on</value> | <value>off</value></syntax>
-<default>log_not_found on</default>
-<context>http</context>
-<context>server</context>
-<context>location</context>
-
-<para>
-Enables or disables logging of errors about not found files into the
-<link doc="../ngx_core_module.xml" id="error_log">error_log</link>.
-</para>
-
-</directive>
-
-
-<directive name="log_subrequest">
-<syntax>log_subrequest <value>on</value> | <value>off</value></syntax>
-<default>log_subrequest off</default>
-<context>http</context>
-<context>server</context>
-<context>location</context>
-
-<para>
-Enables or disables logging of subrequests into the
-<link doc="ngx_http_log_module.xml" id="access_log">access_log</link>.
-</para>
-
-</directive>
-
-
-<directive name="merge_slashes">
-<syntax>merge_slashes <value>on</value> | <value>off</value></syntax>
-<default>merge_slashes on</default>
-<context>http</context>
-<context>server</context>
-
-<para>
-Enables or disables compression of two or more adjacent slashes
-in a URI into a single slash.
-</para>
-
-<para>
-Note that compression is essential for the correct prefix string
-and regular expressions location matching.
-Without it, the <dq><code>//scripts/one.php</code></dq> request would not match
-<example>
-location /scripts/ {
-    ...
-}
-</example>
-and might be processed as a static file,
-so it gets converted to <dq><code>/scripts/one.php</code></dq>.
-</para>
-
-<para>
-Turning the compression <value>off</value> can become necessary if a URI
-contains base64-encoded names, since base64 uses the "/" character internally.
-However, for security considerations, it is better to avoid turning off
-the compression.
-</para>
-
-<para>
-If a directive is specified on the
-<link id="server">server</link>
-level, which is also a default server, its value will cover
-all virtual servers listening on the same address and port.
-</para>
-
-</directive>
-
-
-<directive name="msie_padding">
-<syntax>msie_padding <value>on</value> | <value>off</value></syntax>
-<default>msie_padding on</default>
-<context>http</context>
-<context>server</context>
-<context>location</context>
-
-<para>
-Enables or disables adding of comments to responses with status
-greater than 400 for MSIE clients, to pad the response size to 512 bytes.
-</para>
-
-</directive>
-
-
-<directive name="msie_refresh">
-<syntax>msie_refresh <value>on</value> | <value>off</value></syntax>
-<default>msie_refresh off</default>
-<context>http</context>
-<context>server</context>
-<context>location</context>
-
-<para>
-Enables or disables issuing refreshes instead of redirects, for MSIE clients.
-</para>
-
-</directive>
-
-
-<directive name="open_file_cache">
-<syntax>open_file_cache
-<parameter>max</parameter>=<argument>N</argument>
-[<parameter>inactive</parameter>=<argument>time</argument>] |
-<value>off</value>
-</syntax>
-<default>open_file_cache off</default>
-<context>http</context>
-<context>server</context>
-<context>location</context>
-
-<para>
-Configures a cache that can store:
-<list type="bullet">
-
-<listitem>
-open file descriptors, their sizes and modification times;
-</listitem>
-
-<listitem>
-directory lookups;
-</listitem>
-
-<listitem>
-file lookup errors, such as "file not found", "no read permission",
-and so on.
-Caching of errors should be enabled separately by the
-<link id="open_file_cache_errors">open_file_cache_errors</link>
-directive.
-</listitem>
-
-</list>
-</para>
-
-<para>
-The directive has the following parameters:
-<list type="tag">
-
-<tag-name>
-<parameter>max</parameter>
-</tag-name>
-<tag-desc>
-sets the maximum number of elements in the cache;
-on cache overflow the least recently used (LRU) elements get removed;
-</tag-desc>
-
-<tag-name>
-<parameter>inactive</parameter>
-</tag-name>
-<tag-desc>
-defines a time, after which the element gets removed from the cache
-if there were no accesses to it during this time;
-by default, it is 60 seconds;
-</tag-desc>
-
-<tag-name>
-<value>off</value>
-</tag-name>
-<tag-desc>
-disables the cache.
-</tag-desc>
-
-</list>
-</para>
-
-<para>
-Example:
-<example>
-open_file_cache          max=1000 inactive=20s;
-open_file_cache_valid    30s;
-open_file_cache_min_uses 2;
-open_file_cache_errors   on;
-<!--
-open_file_cache_events   on;
--->
-</example>
-</para>
-
-</directive>
-
-
-<directive name="open_file_cache_errors">
-<syntax>open_file_cache_errors <value>on</value> | <value>off</value></syntax>
-<default>open_file_cache_errors off</default>
-<context>http</context>
-<context>server</context>
-<context>location</context>
-
-<para>
-Enables or disables caching of file lookup errors by the
-<link id="open_file_cache">open_file_cache</link>.
-</para>
-
-</directive>
-
-
-<!--
-
-<directive name="open_file_cache_events">
-<syntax>open_file_cache_events <value>on</value> | <value>off</value></syntax>
-<default>open_file_cache_events off</default>
-<context>http</context>
-<context>server</context>
-<context>location</context>
-
-<para>
-Enables to use kernel events to validate
-<link id="open_file_cache">open_file_cache</link>
-elements.
-This directive works with the
-<link doc="../events.xml" id="kqueue">kqueue</link>
-method only.
-Note that only NetBSD&nbsp;2.0+ and FreeBSD&nbsp;6.0+
-support events for arbitrary file system types.
-Other operating systems support events only for essential
-file systems such as UFS or FFS.
-</para>
-
-</directive>
-
--->
-
-
-<directive name="open_file_cache_min_uses">
-<syntax>open_file_cache_min_uses <argument>number</argument></syntax>
-<default>open_file_cache_min_uses 1</default>
-<context>http</context>
-<context>server</context>
-<context>location</context>
-
-<para>
-Sets the minimum <argument>number</argument> of file accesses during
-the period configured by the <parameter>inactive</parameter> parameter
-of the <link id="open_file_cache">open_file_cache</link> directive,
-after which a file descriptor will remain open in the cache.
-</para>
-
-</directive>
-
-
-<directive name="open_file_cache_valid">
-<syntax>open_file_cache_valid <argument>time</argument></syntax>
-<default>open_file_cache_valid 60</default>
-<context>http</context>
-<context>server</context>
-<context>location</context>
-
-<para>
-Sets a time after which
-<link id="open_file_cache">open_file_cache</link>
-elements should be validated.
-<!--
-When <link id="open_file_cache_events">
-open_file_cache_events</link> is enabled, open file descriptors
-are checked only once, and then updated right after they get changed.
--->
-</para>
-
-</directive>
-
-
-<directive name="optimize_server_names">
-<syntax>optimize_server_names <value>on</value> | <value>off</value></syntax>
-<default>optimize_server_names on</default>
-<context>http</context>
-<context>server</context>
-
-<para>
-This directive is obsolete.
-</para>
-
-<para>
-Enables or disables optimization of hostname checking in name-based
-virtual servers.
-In particular, the checking affects hostnames used in redirects.
-If optimization is enabled, and all name-based servers listening on
-the same address:port pair have identical configuration, then
-names are not checked during request processing, and the first
-server name is used in redirects.
-In case redirects should use hostnames sent by clients,
-optimization needs to be disabled.
-</para>
-
-</directive>
-
-
-<directive name="port_in_redirect">
-<syntax>port_in_redirect <value>on</value> | <value>off</value></syntax>
-<default>port_in_redirect on</default>
-<context>http</context>
-<context>server</context>
-<context>location</context>
-
-<para>
-Enables or disables specifying the port in redirects issued by nginx.
-</para>
-
-</directive>
-
-
-<directive name="read_ahead">
-<syntax>read_ahead <argument>size</argument></syntax>
-<default>read_ahead 0</default>
-<context>http</context>
-<context>server</context>
-<context>location</context>
-
-<para>
-Sets the amount of pre-reading when working with files, in the kernel.
-</para>
-
-<para>
-On Linux, the
-<code>posix_fadvise(0, 0, 0, POSIX_FADV_SEQUENTIAL)</code>
-system call is used, so the <argument>size</argument> argument is ignored.
-</para>
-
-<para>
-On FreeBSD, the
-<code>fcntl(O_READAHEAD,</code><argument>size</argument><code>)</code>
-system call is used, supported in FreeBSD&nbsp;9.0-CURRENT.
-FreeBSD&nbsp;7 needs to be
-<link url="http://sysoev.ru/freebsd/patch.readahead.txt">patched</link>.
-</para>
-
-</directive>
-
-
-<directive name="recursive_error_pages">
-<syntax>recursive_error_pages <value>on</value> | <value>off</value></syntax>
-<default>recursive_error_pages off</default>
-<context>http</context>
-<context>server</context>
-<context>location</context>
-
-<para>
-Enables or disables doing several redirects using the
-<link id="error_page">error_page</link>
-directive.
-</para>
-
-</directive>
-
-
-<directive name="reset_timedout_connection">
-<syntax>reset_timedout_connection
-        <value>on</value> | <value>off</value></syntax>
-<default>reset_timedout_connection off</default>
-<context>http</context>
-<context>server</context>
-<context>location</context>
-
-<para>
-Enables or disables resetting of timed out connections.
-The reset is performed as follows: before closing a socket, the
-<c-def>SO_LINGER</c-def>
-option is set on it with a timeout value of 0.
-When the socket is closed, a client is sent TCP RST, and all memory
-occupied by this socket is freed.
-This avoids keeping of an already closed socket with filled buffers
-for a long time, in a FIN_WAIT1 state.
-</para>
-
-<para>
-It should be noted that timed out keep-alive connections are still
-closed normally.
-</para>
-
-</directive>
-
-
-<directive name="resolver">
-<syntax>resolver <argument>address</argument></syntax>
-<default/>
-<context>http</context>
-<context>server</context>
-<context>location</context>
-
-<para>
-Sets the <argument>address</argument> of a name server, for example:
-<example>
-resolver 127.0.0.1;
-</example>
-</para>
-
-</directive>
-
-
-<directive name="resolver_timeout">
-<syntax>resolver_timeout <argument>time</argument></syntax>
-<default>resolver_timeout 30s</default>
-<context>http</context>
-<context>server</context>
-<context>location</context>
-
-<para>
-Sets a timeout for name resolution, for example:
-<example>
-resolver_timeout 5s;
-</example>
-</para>
-
-</directive>
-
-
-<directive name="root">
-<syntax>root <argument>path</argument></syntax>
-<default>root html</default>
-<context>http</context>
-<context>server</context>
-<context>location</context>
-<context>if in location</context>
-
-<para>
-Sets the root directory for requests.
-For example, with the following configuration
-<example>
-location /i/ {
-    root /data/w3;
-}
-</example>
-<dq><code>/i/top.gif</code></dq> will be responded
-with the file
-<dq><pathname>/data/w3/i/top.gif</pathname></dq>.
-</para>
-
-<para>
-The <argument>path</argument> value can contain variables.
-</para>
-
-<para>
-A path to the file is constructed by merely adding a URI to the value
-of the <code>root</code> directive.
-If a URI need to be modified, the
-<link id="alias">alias</link> directive should be used.
-</para>
-
-</directive>
-
-
-<directive name="satisfy">
-<syntax>satisfy <value>all</value> | <value>any</value></syntax>
-<default>satisfy all</default>
-<context>location</context>
-
-<para>
-Allows access if any of the
-<link doc="ngx_http_access_module.xml">ngx_http_access_module</link>
-or <link doc="ngx_http_auth_basic_module.xml">ngx_http_auth_basic_module</link>
-modules grant access.
-<example>
-location / {
-    satisfy any;
-
-    allow 192.168.1.0/32;
-    deny  all;
-
-    auth_basic           "closed site";
-    auth_basic_user_file conf/htpasswd;
-}
-</example>
-</para>
-
-</directive>
-
-
-<directive name="satisfy_any">
-<syntax>satisfy_any <value>on</value> | <value>off</value></syntax>
-<default>satisfy_any off</default>
-<context>location</context>
-
-<para>
-This directive was renamed to the <link id="satisfy">satisfy</link> directive.
-</para>
-
-</directive>
-
-
-<directive name="send_timeout">
-<syntax>send_timeout <argument>time</argument></syntax>
-<default>send_timeout 60</default>
-<context>http</context>
-<context>server</context>
-<context>location</context>
-
-<para>
-Sets a timeout for transmitting a response to the client.
-A timeout is only set between two successive write operations,
-not for the transmission of the whole response.
-If a client does not receive anything within this time,
-a connection is closed.
-</para>
-
-</directive>
-
-
-<directive name="sendfile">
-
-<syntax>sendfile <value>on</value> | <value>off</value></syntax>
-<default>sendfile off</default>
-<context>http</context>
-<context>server</context>
-<context>location</context>
-
-<para>
-Enables or disables the use of
-<c-func>sendfile</c-func>.
-</para>
-
-</directive>
-
-
-<directive name="server">
-<syntax>server { ... }</syntax>
-<default/>
-<context>http</context>
-
-<para>
-Sets a configuration for the virtual server.
-There is no clean separation between IP-based (based on the IP address)
-and name-based (based on the <header>Host</header> request header field)
-virtual servers.
-Instead, the <link id="listen">listen</link> directives describe all
-addresses and ports that should accept connections for a server, and the
-<link id="server_name">server_name</link> directive lists all server names.
-An example configuration is provided in the
-<link doc="../virtual_hosts.xml">
-Setting Up Virtual Servers</link> document.
-</para>
-
-</directive>
-
-
-<directive name="server_name">
-<syntax>server_name <argument>name</argument> ...</syntax>
-<default>server_name hostname</default>
-<context>server</context>
-
-<para>
-Sets names of the virtual server, for example:
-<example>
-server {
-    server_name example.com www.example.com;
-}
-</example>
-</para>
-
-<para>
-The first name becomes a primary server name.
-By default, the machine's hostname is used.
-Server names can include an asterisk (<dq><code>*</code></dq>)
-to replace the first or last part of a name:
-<example>
-server {
-    server_name example.com *.example.com www.example.*;
-}
-</example>
-</para>
-
-<para>
-The first two of the above mentioned names can be combined:
-<example>
-server {
-    server_name .example.com;
-}
-</example>
-</para>
-
-<para>
-It is also possible to use regular expressions in server names,
-prepending the name with a tilde (<dq><code>~</code></dq>):
-<example>
-server {
-    server_name www.example.com ~^www\d+\.example\.com$;
-}
-</example>
-</para>
-
-<para>
-Regular expressions can contain captures (0.7.40) that can later
-be used in other directives:
-<example>
-server {
-    server_name ~^(www\.)?(.+)$;
-
-    location / {
-        root /sites/$2;
-    }
-}
-
-server {
-    server_name _;
-
-    location / {
-        root /sites/default;
-    }
-}
-</example>
-</para>
-
-<para>
-Starting from version 0.8.25, named captures in regular expressions create
-variables that can later be used in other directives:
-<example>
-server {
-    server_name ~^(www\.)?(?&lt;domain&gt;.+)$;
-
-    location / {
-        root /sites/$domain;
-    }
-}
-
-server {
-    server_name _;
-
-    location / {
-        root /sites/default;
-    }
-}
-</example>
-</para>
-
-<para>
-Starting from version 0.7.11, it is possible to specify an empty name:
-<example>
-server {
-    server_name www.example.com "";
-}
-</example>
-It allows this server to process requests without the <header>Host</header>
-header, instead of the default server for the given address:port pair.
-</para>
-
-<para>
-The name checking order is as follows:
-<list type="enum">
-
-<listitem>
-full names
-</listitem>
-
-<listitem>
-names with the prefix mask, e.g. <dq><code>*.example.com</code></dq>
-</listitem>
-
-<listitem>
-names with the suffix mask, e.g. <dq><code>mail.*</code></dq>
-</listitem>
-
-<listitem>
-regular expressions
-</listitem>
-
-</list>
-</para>
-
-</directive>
-
-
-<directive name="server_name_in_redirect">
-<syntax>server_name_in_redirect <value>on</value> | <value>off</value></syntax>
-<default>server_name_in_redirect on</default>
-<context>http</context>
-<context>server</context>
-<context>location</context>
-
-<para>
-Enables or disables the use of the primary server name, specified by the
-<link id="server_name">server_name</link>
-directive, in redirects issued by nginx.
-When disabled, the name from the <header>Host</header> request header field
-is used.
-If this field is not present, an IP address of the server is used.
-</para>
-
-</directive>
-
-
-<directive name="server_names_hash_max_size">
-<syntax>server_names_hash_max_size <argument>size</argument></syntax>
-<default>server_names_hash_max_size 512</default>
-<context>http</context>
-
-<para>
-Sets the maximum <argument>size</argument> of the server names hash tables.
-For more information, please refer to
-<link doc="../hash.xml">Setting Up Hashes</link>.
-</para>
-
-</directive>
-
-
-<directive name="server_names_hash_bucket_size">
-<syntax>server_names_hash_bucket_size <argument>size</argument></syntax>
-<default>server_names_hash_bucket_size 32/64/128</default>
-<context>http</context>
-
-<para>
-Sets the bucket size for the server names hash tables.
-Default value depends on the size of the processor's cache line.
-For more information, please refer to
-<link doc="../hash.xml">Setting Up Hashes</link>.
-</para>
-
-</directive>
-
-
-<directive name="server_tokens">
-<syntax>server_tokens <value>on</value> | <value>off</value></syntax>
-<default>server_tokens on</default>
-<context>http</context>
-<context>server</context>
-<context>location</context>
-
-<para>
-Enables or disables emitting of nginx version in error messages and in the
-<header>Server</header> response header field.
-</para>
-
-</directive>
-
-
-<directive name="tcp_nodelay">
-<syntax>tcp_nodelay <value>on</value> | <value>off</value></syntax>
-<default>tcp_nodelay on</default>
-<context>http</context>
-<context>server</context>
-<context>location</context>
-
-<para>
-Enables or disables the use of the <c-def>TCP_NODELAY</c-def> option.
-The option is enabled only when a connection is transitioned into the
-keep-alive state.
-</para>
-
-</directive>
-
-
-<directive name="tcp_nopush">
-<syntax>tcp_nopush <value>on</value> | <value>off</value></syntax>
-<default>tcp_nopush off</default>
-<context>http</context>
-<context>server</context>
-<context>location</context>
-
-<para>
-Enables or disables the use of
-the <c-def>TCP_NOPUSH</c-def> socket option on FreeBSD
-or the <c-def>TCP_CORK</c-def> socket option on Linux.
-Opitons are enables only when <link id="sendfile">sendfile</link> is used.
-Enabling the option allows to
-<list type="bullet">
-
-<listitem>
-send the response header and the beginning of a file in one packet,
-on Linux and FreeBSD&nbsp;4.*;
-</listitem>
-
-<listitem>
-send a file in full packets.
-</listitem>
-
-</list>
-</para>
-
-</directive>
-
-
-<directive name="try_files">
-<syntax>try_files
-        <argument>file</argument> ...
-	<argument>uri</argument>
-</syntax>
-<syntax>try_files
-        <argument>file</argument> ...
-        =<argument>code</argument>
-</syntax>
-<default/>
-<context>location</context>
-
-<para>
-Checks the existence of files in the specified order, and uses
-the first found file for request processing; the processing
-is performed in this location's context.
-It is possible to check the directory existence by specifying
-the slash at the end of a name, e.g. <dq><code>$uri/</code></dq>.
-If none of the files were found, an internal redirect to the
-<argument>uri</argument> specified by the last argument is made.
-As of version 0.7.51, the last argument can also be a
-<argument>code</argument>:
-<example>
-location / {
-    try_files $uri $uri/index.html $uri.html =404;
-}
-</example>
-</para>
-
-<para>
-Example when proxying Mongrel:
-<example>
-location / {
-    try_files /system/maintenance.html
-              $uri $uri/index.html $uri.html
-              @mongrel;
-}
-
-location @mongrel {
-    proxy_pass http://mongrel;
-}
-</example>
-</para>
-
-<para>
-Example for Drupal/FastCGI:
-<example>
-location / {
-    try_files $uri $uri/ @drupal;
-}
-
-location ~ \.php$ {
-    try_files $uri @drupal;
-
-    fastcgi_pass ...;
-
-    fastcgi_param SCRIPT_FILENAME /path/to$fastcgi_script_name;
-    fastcgi_param SCRIPT_NAME     $fastcgi_script_name;
-    fastcgi_param QUERY_STRING    $args;
-
-    ... other fastcgi_param's
-}
-
-location @drupal {
-    fastcgi_pass ...;
-
-    fastcgi_param SCRIPT_FILENAME /path/to/index.php;
-    fastcgi_param SCRIPT_NAME     /index.php;
-    fastcgi_param QUERY_STRING    q=$uri&amp;$args;
-
-    ... other fastcgi_param's
-}
-</example>
-In the following example,
-<example>
-location / {
-    try_files $uri $uri/ @drupal;
-}
-</example>
-the <code>try_files</code> directive is equivalent to
-<example>
-location / {
-    error_page 404 = @drupal;
-    log_not_found off;
-}
-</example>
-And here,
-<example>
-location ~ \.php$ {
-    try_files $uri @drupal;
-
-    fastcgi_pass ...;
-
-    fastcgi_param SCRIPT_FILENAME /path/to$fastcgi_script_name;
-
-    ...
-}
-</example>
-<code>try_files</code> checks the existence of the PHP file
-before passing the request to the FastCGI server.
-</para>
-
-<para>
-Example for Wordpress and Joomla:
-<example>
-location / {
-    try_files $uri $uri/ @wordpress;
-}
-
-location ~ \.php$ {
-    try_files $uri @wordpress;
-
-    fastcgi_pass ...;
-
-    fastcgi_param SCRIPT_FILENAME /path/to$fastcgi_script_name;
-    ... other fastcgi_param's
-}
-
-location @wordpress {
-    fastcgi_pass ...;
-
-    fastcgi_param SCRIPT_FILENAME /path/to/index.php;
-    ... other fastcgi_param's
-}
-</example>
-</para>
-
-</directive>
-
-
-<directive name="types">
-<syntax>types { ... }</syntax>
-<default>see below</default>
-<context>http</context>
-<context>server</context>
-<context>location</context>
-
-<para>
-Maps file name extensions to MIME types of responses.
-Several extensions can map to one type.
-The following mappings are configured by default:
-<example>
-types {
-    text/html  html;
-    image/gif  gif;
-    image/jpeg jpg;
-}
-</example>
-</para>
-
-<para>
-A sufficiently full mapping table is distributed with nginx in the
-<pathname>conf/mime.types</pathname> file.
-</para>
-
-<para>
-To make a particular location emit the
-<dq><code>application/octet-stream</code></dq>
-MIME type for all requests, try the following:
-<example>
-location /download/ {
-    types        { }
-    default_type application/octet-stream;
-}
-</example>
-</para>
-
-</directive>
-
-
-<directive name="underscores_in_headers">
-<syntax>underscores_in_headers <value>on</value> | <value>off</value></syntax>
-<default>underscores_in_headers off</default>
-<context>http</context>
-<context>server</context>
-
-<para>
-Enables or disables the use of underscores in client request header fields.
-</para>
-
-</directive>
-
-</section>
-
-<section id="variables" name="Embedded Variables">
-
-<para>
-The module <code>ngx_http_core_module</code> supports embedded variables with
-names matching those of the Apache Server.
-First of all, these are variables representing client request header
-fields, such as, <var>$http_user_agent</var>, <var>$http_cookie</var>,
-and so on.
-It also supports other variables:
-<list type="tag">
-
-<tag-name><var>$args</var></tag-name>
-<tag-desc>
-arguments in the request line
-</tag-desc>
-
-<tag-name><var>$arg_</var><argument>name</argument></tag-name>
-<tag-desc>
-argument <argument>name</argument> in the request line
-</tag-desc>
-
-<tag-name><var>$binary_remote_addr</var></tag-name>
-<tag-desc>
-client address in a binary form, value's length is always 4 bytes
-</tag-desc>
-
-<tag-name><var>$content_length</var></tag-name>
-<tag-desc>
-<header>Content-Length</header> request header field
-</tag-desc>
-
-<tag-name><var>$content_type</var></tag-name>
-<tag-desc>
-<header>Content-Type</header> request header field
-</tag-desc>
-
-<tag-name><var>$cookie_</var><argument>name</argument></tag-name>
-<tag-desc>
-the <argument>name</argument> cookie
-</tag-desc>
-
-<tag-name><var>$document_root</var></tag-name>
-<tag-desc>
-<link id="root">root</link> directive's value for the current request
-</tag-desc>
-
-<tag-name><var>$document_uri</var></tag-name>
-<tag-desc>
-same as <var>$uri</var>
-</tag-desc>
-
-<tag-name><var>$host</var></tag-name>
-<tag-desc>
-<header>Host</header> request header field,
-or the server name matching a request if this field is not present
-</tag-desc>
-
-<tag-name><var>$hostname</var></tag-name>
-<tag-desc>
-host name
-</tag-desc>
-
-<tag-name><var>$http_</var><argument>name</argument></tag-name>
-<tag-desc>
-the <argument>name</argument> request header field
-</tag-desc>
-
-<tag-name><var>$is_args</var></tag-name>
-<tag-desc>
-<dq><code>?</code></dq> if a request line has arguments,
-or an empty string otherwise
-</tag-desc>
-
-<tag-name><var>$limit_rate</var></tag-name>
-<tag-desc>
-allows for connection rate limiting
-</tag-desc>
-
-<tag-name><var>$pid</var></tag-name>
-<tag-desc>
-PID of the worker process
-</tag-desc>
-
-<tag-name><var>$request_method</var></tag-name>
-<tag-desc>
-request method, usually
-<dq><code>GET</code></dq> or <dq><code>POST</code></dq>
-</tag-desc>
-
-<tag-name><var>$remote_addr</var></tag-name>
-<tag-desc>
-client address
-</tag-desc>
-
-<tag-name><var>$remote_port</var></tag-name>
-<tag-desc>
-client port
-</tag-desc>
-
-<tag-name><var>$remote_user</var></tag-name>
-<tag-desc>
-user name supplied with the Basic authentication
-</tag-desc>
-
-<tag-name><var>$realpath_root</var></tag-name>
-<tag-desc>
-<link id="root">root</link> directive's value
-for the current request, with all symbolic links resolved to real paths
-</tag-desc>
-
-<tag-name><var>$request_filename</var></tag-name>
-<tag-desc>
-file path for the current query, based on the
-<link id="root">root</link> and <link id="alias">alias</link>
-directives, and the request URI
-</tag-desc>
-
-<tag-name><var>$request_body</var></tag-name>
-<tag-desc>
-request body
-<para>
-The variable's value is made available in locations
-processed by the
-<link doc="ngx_http_proxy_module.xml" id="proxy_pass">proxy_pass</link>
-and
-<link doc="ngx_http_fastcgi_module.xml" id="fastcgi_pass">fastcgi_pass</link>
-directives.
-</para>
-</tag-desc>
-
-<tag-name><var>$request_body_file</var></tag-name>
-<tag-desc>
-name of a temporary file with the request body
-<para>
-At the end of processing, the file needs to be removed.
-To always write a request body to a file,
-<link id="client_body_in_file_only">client_body_in_file_only on</link>
-needs be specified.
-When passing the name of a temporary file in a proxied request,
-or in a request to a FastCGI server,
-passing of the request body should be disabled by the
-<link doc="ngx_http_proxy_module.xml"
-id="proxy_pass_request_body">proxy_pass_request_body</link>
-and
-<link doc="ngx_http_fastcgi_module.xml"
-id="fastcgi_pass_request_body">fastcgi_pass_request_body</link>
-directives, respectively.
-</para>
-</tag-desc>
-
-<tag-name><var>$request_uri</var></tag-name>
-<tag-desc>
-full original request URI (with arguments)
-</tag-desc>
-
-<tag-name><var>$query_string</var></tag-name>
-<tag-desc>
-same as <var>$args</var>
-</tag-desc>
-
-<tag-name><var>$scheme</var></tag-name>
-<tag-desc>
-request scheme, <dq><code>http</code></dq> or <dq><code>https</code></dq>
-</tag-desc>
-
-<tag-name><var>$server_protocol</var></tag-name>
-<tag-desc>
-request protocol, usually
-<dq><code>HTTP/1.0</code></dq>
-or
-<dq><code>HTTP/1.1</code></dq>
-</tag-desc>
-
-<tag-name><var>$server_addr</var></tag-name>
-<tag-desc>
-an address of the server which accepted a request
-<para>
-Computing a value of this variable usually requires one system call.
-To avoid a system call, the <link id="listen">listen</link> directives
-must specify addresses and use the <parameter>bind</parameter> parameter
-</para>
-</tag-desc>
-
-<tag-name><var>$server_name</var></tag-name>
-<tag-desc>
-name of the server which accepted a request
-</tag-desc>
-
-<tag-name><var>$server_port</var></tag-name>
-<tag-desc>
-port of the server which accepted a request
-</tag-desc>
-
-<tag-name><var>$uri</var></tag-name>
-<tag-desc>
-current URI in request
-<para>
-It may differ from an original, e.g. when doing internal redirects,
-or when using index files.
-</para>
-</tag-desc>
-
-</list>
-</para>
-
-</section>
-
-</module>
deleted file mode 100644
--- a/docs/xml/http/ngx_http_mp4_module.xml
+++ /dev/null
@@ -1,156 +0,0 @@
-<?xml version="1.0"?>
-
-<!DOCTYPE module SYSTEM "../../dtd/module.dtd">
-
-<module name="HTTP MP4 Module" id="http_mp4_module">
-
-<section name="Summary">
-
-<para>
-The module <code>ngx_http_mp4_module</code> provides pseudo-streaming
-server-side support for H.264/AAC files typically having filename extensions
-<pathname>.mp4</pathname>, <pathname>.m4v</pathname>,
-and <pathname>.m4a</pathname>.
-</para>
-
-<para>
-Pseudo-streaming works in alliance with conformant Flash players.
-A player sends an HTTP request to the server with a start time
-argument in the request URI’s query string (named simply
-<parameter>start</parameter>
-and specified in seconds), and the server responds with a stream
-so that its start position corresponds to the requested time,
-for example:
-<example>
-http://example.com/elephants_dream.mp4?start=238.88
-</example>
-This allows for a random seeking at any time, or starting playback
-in the middle of a timeline.
-</para>
-
-<para>
-To support seeking, H.264-based formats store the metadata
-in the so-called “moov atom.”
-It is a part of the file that holds the index information for the
-whole file.
-</para>
-
-<para>
-To start playback, a player first needs to read metadata.
-This is done by sending a special request with the
-<parameter>start=0</parameter>
-argument.  Many encoding software will insert the metadata at
-the end of the file.  This is bad for pseudo-streaming:
-the metadata needs to be located at the beginning of the file,
-or else the entire file will have to be downloaded before it
-starts playing.  If a file is well-formed (with metadata at the
-beginning of a file), nginx just sends back the contents of a file.
-Otherwise, it has to read the file and prepare a new stream so that
-metadata comes before media data.
-This involves some CPU, memory, and disk I/O overhead,
-so it is a good idea to
-<link url="http://flowplayer.org/plugins/streaming/pseudostreaming.html#prepare">
-prepare an original file for pseudo-streaming</link>,
-rather than having nginx do this on every such request.
-</para>
-
-<para>
-For a matching request with a non-zero
-<parameter>start</parameter>
-argument, nginx will read metadata from the file, prepare the
-stream starting from the requested offset, and send it to a client.
-This has the same overhead as described above.
-</para>
-
-<para>
-If a matching request does not include the
-<parameter>start</parameter>
-argument, there is no overhead, and the file is just sent as a static resource.
-Some players also support byte-range requests, and thus do not require
-this module at all.
-</para>
-
-<para>
-This module is not built by default, it should be enabled with the
-<code>--with-http_mp4_module</code>
-configuration parameter.
-<note>
-If you were using the third-party mp4 module, be sure to disable it.
-</note>
-</para>
-
-<para>
-A similar pseudo-streaming support for FLV files is provided by the module
-<link doc="ngx_http_flv_module.xml">ngx_http_flv_module</link>.
-</para>
-
-</section>
-
-
-<section id="example" name="Example Configuration">
-
-<para>
-<example>
-location /video/ {
-    mp4;
-    mp4_buffer_size     1m;
-    mp4_max_buffer_size 5m;
-}
-</example>
-</para>
-
-</section>
-
-
-<section id="directives" name="Directives">
-
-<directive name="mp4">
-<syntax>mp4</syntax>
-<default/>
-<context>location</context>
-
-<para>
-Turns on module processing in a surrounding location.
-</para>
-
-</directive>
-
-
-<directive name="mp4_buffer_size">
-<syntax>mp4_buffer_size <argument>size</argument></syntax>
-<default>mp4_buffer_size 512K</default>
-<context>http</context>
-<context>server</context>
-<context>location</context>
-
-<para>
-Sets the initial size of a memory buffer used to process MP4 files.
-</para>
-
-</directive>
-
-
-<directive name="mp4_max_buffer_size">
-<syntax>mp4_max_buffer_size <argument>size</argument></syntax>
-<default>mp4_max_buffer_size 10M</default>
-<context>http</context>
-<context>server</context>
-<context>location</context>
-
-<para>
-During metadata processing, a larger buffer may become necessary.
-Its size cannot exceed the specified <argument>size</argument>,
-or else nginx will return the server error
-<http-status code="500" text="Internal Server Error"/>,
-and log the following:
-<example>
-"/some/movie/file.mp4" mp4 moov atom is too large:
-12583268, you may want to increase mp4_max_buffer_size
-</example>
-</para>
-
-</directive>
-
-</section>
-
-</module>
deleted file mode 100644
--- a/docs/xml/ngx_core_module.xml
+++ /dev/null
@@ -1,292 +0,0 @@
-<?xml version="1.0"?>
-
-<!DOCTYPE module SYSTEM "../dtd/module.dtd">
-
-<module name="Core Module" id="core_module">
-
-<section id="example" name="Example Configuration">
-
-<para>
-<example>
-user www www;
-worker_processes 2;
-
-error_log /var/log/nginx-error.log info;
-
-events {
-    use kqueue;
-    worker_connections 2048;
-}
-
-...
-</example>
-</para>
-
-</section>
-
-
-<section id="directives" name="Directives">
-
-<directive name="daemon">
-<syntax>daemon <value>on</value> | <value>off</value></syntax>
-<default>daemon on</default>
-<context>main</context>
-
-<para>
-Determines whether nginx should become a daemon.
-Mainly used during development.
-</para>
-
-</directive>
-
-
-<directive name="env">
-<syntax>env <argument>VAR</argument>[=<argument>VALUE</argument>]</syntax>
-<default>env TZ</default>
-<context>main</context>
-
-<para>
-Allows to limit a set of environment variables, change their values,
-or create new environment variables, for the following cases:
-<list type="bullet">
-
-<listitem>
-variable inheritance during a
-<link doc="control.xml" id="upgrade">live upgrade</link>
-of an executable file;
-</listitem>
-
-<listitem>
-use of variables by the module
-<link doc="http/ngx_http_perl_module.xml">ngx_http_perl_module</link>;
-</listitem>
-
-<listitem>
-use of variables by worker processes.
-Please bear in mind that controlling system libraries in this way
-is not always possible as it is not uncommon for libraries to check
-variables only during initialization, well before they can be set
-using this directive.
-An exception from this is an above mentioned
-<link doc="control.xml" id="upgrade">live upgrade</link>
-of an executable file.
-</listitem>
-
-</list>
-</para>
-
-<para>
-The TZ variable is always inherited and made available to the module
-<link doc="http/ngx_http_perl_module.xml">ngx_http_perl_module</link>,
-unless configured explicitly.
-</para>
-
-<para>
-Usage example:
-<example>
-env MALLOC_OPTIONS;
-env PERL5LIB=/data/site/modules;
-env OPENSSL_ALLOW_PROXY_CERTS=1;
-</example>
-</para>
-
-</directive>
-
-<directive name="include">
-<syntax>include <argument>file</argument> | <argument>mask</argument></syntax>
-<default/>
-<context/>
-
-<para>
-Includes another <argument>file</argument>, or files matching the
-specified <argument>mask</argument>, into configuration.
-Included files should consist of
-syntactically correct directives and blocks.
-</para>
-
-<para>
-Usage example:
-<example>
-include mime.types;
-include vhosts/*.conf;
-</example>
-</para>
-
-</directive>
-
-
-<directive name="master_process">
-<syntax>master_process <value>on</value> | <value>off</value></syntax>
-<default>master_process on</default>
-<context>main</context>
-
-<para>
-Determines whether worker processes are started.
-This directive is intended for nginx developers.
-</para>
-
-</directive>
-
-
-<directive name="pid">
-<syntax>pid <argument>file</argument></syntax>
-<default>pid nginx.pid</default>
-<context>main</context>
-
-<para>
-Defines a <argument>file</argument> which will store the process ID of the main process.
-</para>
-
-</directive>
-
-
-<directive name="ssl_engine">
-<syntax>ssl_engine <argument>device</argument></syntax>
-<default/>
-<context>main</context>
-
-<para>
-Defines the name of the hardware SSL accelerator.
-</para>
-
-</directive>
-
-
-<directive name="user">
-<syntax>user <argument>user</argument> [<argument>group</argument>]</syntax>
-<default>user nobody nobody</default>
-<context>main</context>
-
-<para>
-Defines <argument>user</argument> and <argument>group</argument>
-credentials used by worker processes.
-If <argument>group</argument> is omitted, a group whose name equals
-that of <argument>user</argument> is used.
-</para>
-
-</directive>
-
-
-<directive name="timer_resolution">
-<syntax>timer_resolution <argument>interval</argument></syntax>
-<default/>
-<context>main</context>
-
-<para>
-Reduces timer resolution in worker processes, thus reducing the
-number of <c-func>gettimeofday</c-func> system calls made.
-By default, <c-func>gettimeofday</c-func> is called each time
-on receiving a kernel event.
-With reduced resolution, <c-func>gettimeofday</c-func> is only
-called once per specified <argument>interval</argument>.
-</para>
-
-<para>
-Example:
-<example>
-timer_resolution 100ms;
-</example>
-</para>
-
-<para>
-An internal implementation of interval depends on the method used:
-<list type="bullet">
-
-<listitem>
-an <c-def>EVFILT_TIMER</c-def> filter if <value>kqueue</value> is used;
-</listitem>
-
-<listitem>
-<c-func>timer_create</c-func> if <value>eventport</value> is used;
-</listitem>
-
-<listitem>
-<c-func>setitimer</c-func> otherwise.
-</listitem>
-
-</list>
-</para>
-
-</directive>
-
-
-<directive name="worker_rlimit_core">
-<syntax>worker_rlimit_core <argument>size</argument></syntax>
-<default/>
-<context>main</context>
-
-<para>
-Changes the limit on the largest size of a core file
-(<c-def>RLIMIT_CORE</c-def>) for worker processes.
-Used to increase the limit without restarting the main process.
-</para>
-
-</directive>
-
-
-<directive name="worker_rlimit_nofile">
-<syntax>worker_rlimit_nofile <argument>number</argument></syntax>
-<default/>
-<context>main</context>
-
-<para>
-Changes the limit on the maximum number of open files
-(<c-def>RLIMIT_NOFILE</c-def>) for worker processes.
-Used to increase the limit without restarting the main process.
-</para>
-
-</directive>
-
-
-<directive name="worker_priority">
-<syntax>worker_priority <argument>number</argument></syntax>
-<default>worker_priority 0</default>
-<context>main</context>
-
-<para>
-Defines a scheduling priority for worker processes like is
-done by the <command>nice</command> command: a negative
-<argument>number</argument>
-means higher priority.
-Allowed range normally varies from -20 to 20.
-</para>
-
-<para>
-Example:
-<example>
-worker_priority -10;
-</example>
-</para>
-
-</directive>
-
-
-<directive name="worker_processes">
-<syntax>worker_processes <argument>number</argument></syntax>
-<default>worker_processes 1</default>
-<context>main</context>
-
-<para>
-Defines the number of worker processes.
-</para>
-
-</directive>
-
-
-<directive name="working_directory">
-<syntax>working_directory <argument>directory</argument></syntax>
-<default/>
-<context>main</context>
-
-<para>
-Defines a current working directory for a worker process.
-It is primarily used when writing a core-file, in which case
-a working process should have write permission for the
-specified directory.
-</para>
-
-</directive>
-
-</section>
-
-</module>
deleted file mode 100644
--- a/docs/xsls/content.xsls
+++ /dev/null
@@ -1,67 +0,0 @@
-X:stylesheet {
-
-    X:template = "section[@id and @name]" {
-        <a name="{@id}" /> <center><h4> !{@name} </h4></center>
-        !!;
-    }
-
-    X:template = "section[not(@id) and @name]" {
-        <center><h4> !{@name} </h4></center>
-        !!;
-    }
-
-    X:template = "section[not(@id) and not(@name)]" { !!; }
-
-    X:template = "para" { <p> !!; </p> }
-
-    X:template = "c-def" { <code> !!; </code> }
-
-    X:template = "c-func" { <code> !!; X:text{()} </code> }
-
-    X:template = "code" { <code> !!; </code> }
-
-    X:template = "command" { <code> !!; </code> }
-
-    X:template = "dq" {
-        X:text disable-output-escaping="yes" {&amp;ldquo;}
-        !!;
-        X:text disable-output-escaping="yes" {&amp;rdquo;}
-    }
-
-    X:template = "example" { <blockquote><pre> !!; </pre></blockquote> }
-
-    X:template = "emphasis" { <strong> !!; </strong> }
-
-    X:template = "header" { <code> !!; </code> }
-
-    X:template = "http-status" {
-        !{@code} X:text{ (} !{@text} X:text{)}
-    }
-
-    X:template = "link[@url]" { <a href="{@url}"> !!; </a> }
-    X:template = "link[@id and not(@doc)]" { <a href="#{@id}"> !!; </a> }
-    X:template = "link[@doc and not(@id)]" {
-        <a href="{substring-before(@doc, '.xml')}.html"> !!; </a>
-    }
-    X:template = "link[@id and @doc]" {
-        <a href="{substring-before(@doc, '.xml')}.html#{@id}"> !!; </a>
-    }
-    X:template = "link" { <u> !!; </u> }
-
-    X:template = "list[@type='bullet']" { <ul> !!; </ul> }
-    X:template = "list[@type='enum']" { <ol> !!; </ol> }
-    X:template = "listitem" { <li> !!; </li> }
-
-    X:template = "list[@type='tag']" { <dl compact=""> !!; </dl> }
-    X:template = "tag-name" { <dt> !!; </dt> }
-    X:template = "tag-desc" { <dd> !!; </dd> }
-
-    X:template = "pathname" { <code> !!; </code> }
-
-    X:template = "argument" { <code><i> !!; </i></code> }
-    X:template = "parameter" { <code> !!; </code> }
-
-    X:template = "value" { <code> !!; </code> }
-
-    X:template = "var" { <code> !!; </code> }
-}
deleted file mode 100644
--- a/docs/xsls/directive.xsls
+++ /dev/null
@@ -1,51 +0,0 @@
-X:stylesheet {
-    
-    X:template = "directive" {
-        <hr/>
-        <a name="{@name}"/>
-        <!-- <center><h4> !{@name} </h4></center> -->
-        !! "syntax";
-        !! "default";
-        !! "context";
-        X:if "(@appeared-in)" {
-            <strong>appeared in version</strong>: !{@appeared-in}
-        }
-        !! "para";
-    }
-    
-    X:template = "syntax" {
-        X:if "position() = 1" {
-            <strong>syntax</strong>:
-        } else {
-            <code>&#xA0;&#xA0;&#xA0;&#xA0;&#xA0;&#xA0;&#xA0;</code>
-        }
-        <code> !!; </code> <br/>
-    }
-    
-    X:template = "default" {
-        <strong>default</strong>:
-        X:if "count(text()) = 0" {
-            <strong>none</strong>
-        } else {
-            <code> !!; </code>
-        }
-        <br/>
-    }
-    
-    X:template = "context" {
-        X:if "position() = 1" {
-            <strong>context</strong>:
-        }
-        X:if "count(text()) = 0" {
-            <strong>any</strong>
-        } else {
-            <code> !!; </code>
-        }
-        X:if "position() != last()" {
-            X:text{, }
-        } else {
-            <br/>
-        }
-    }
-    
-}
deleted file mode 100644
--- a/docs/xsls/module.xsls
+++ /dev/null
@@ -1,34 +0,0 @@
-X:stylesheet {
-
-X:output method="html" indent="no" encoding="utf-8";
-
-X:strip-space elements = "*";
-
-<!--
-  -- a current directory of a XSLT script is where the script is stored,
-  -- but not where XSLT processor has been started to run the script
-  -->
-X:param XML = "'../xml'";
-
-X:var ID = "/module/@id";
-
-X:include href = "directive.xslt";
-X:include href = "content.xslt";
-
-
-X:template = "/module" {
-    <html><head>
-
-    <title> !{@name} </title>
-
-    </head>
-    <body>
-
-    <center><h3> !{@name} </h3></center>
-    !!;
-
-    </body>
-    </html>
-}
-
-}
deleted file mode 100644
--- a/docs/xslt/content.xslt
+++ /dev/null
@@ -1,199 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
-
-   <xsl:template match="section[@id and @name]">
-
-      <a name="{@id}"/> 
-      <center>
-         <h4>
-            <xsl:value-of select="@name"/>
-         </h4>
-      </center>
-
-      <xsl:apply-templates/>
-   </xsl:template>
-
-   <xsl:template match="section[not(@id) and @name]">
-
-      <center>
-         <h4>
-            <xsl:value-of select="@name"/>
-         </h4>
-      </center>
-
-      <xsl:apply-templates/>
-   </xsl:template>
-
-   <xsl:template match="section[not(@id) and not(@name)]">
-      <xsl:apply-templates/>
-   </xsl:template>
-
-   <xsl:template match="para"> 
-      <p>
-         <xsl:apply-templates/>
-      </p>
-   </xsl:template>
-
-   <xsl:template match="c-def"> 
-      <code>
-         <xsl:apply-templates/>
-      </code>
-   </xsl:template>
-
-   <xsl:template match="c-func"> 
-      <code>
-         <xsl:apply-templates/>
-         <xsl:text>()</xsl:text>
-      </code>
-   </xsl:template>
-
-   <xsl:template match="code"> 
-      <code>
-         <xsl:apply-templates/>
-      </code>
-   </xsl:template>
-
-   <xsl:template match="command"> 
-      <code>
-         <xsl:apply-templates/>
-      </code>
-   </xsl:template>
-
-   <xsl:template match="dq">
-
-      <xsl:text disable-output-escaping="yes">&amp;ldquo;</xsl:text>
-
-      <xsl:apply-templates/>
-
-      <xsl:text disable-output-escaping="yes">&amp;rdquo;</xsl:text>
-   </xsl:template>
-
-   <xsl:template match="example"> 
-      <blockquote>
-         <pre>
-            <xsl:apply-templates/>
-         </pre>
-      </blockquote>
-   </xsl:template>
-
-   <xsl:template match="emphasis"> 
-      <strong>
-         <xsl:apply-templates/>
-      </strong>
-   </xsl:template>
-
-   <xsl:template match="header"> 
-      <code>
-         <xsl:apply-templates/>
-      </code>
-   </xsl:template>
-
-   <xsl:template match="http-status">
-
-      <xsl:value-of select="@code"/>
-      <xsl:text> (</xsl:text>
-      <xsl:value-of select="@text"/>
-      <xsl:text>)</xsl:text>
-   </xsl:template>
-
-   <xsl:template match="link[@url]"> 
-      <a href="{@url}">
-         <xsl:apply-templates/>
-      </a>
-   </xsl:template>
-
-   <xsl:template match="link[@id and not(@doc)]"> 
-      <a href="#{@id}">
-         <xsl:apply-templates/>
-      </a>
-   </xsl:template>
-
-   <xsl:template match="link[@doc and not(@id)]">
-
-      <a href="{substring-before(@doc, '.xml')}.html">
-         <xsl:apply-templates/>
-      </a>
-   </xsl:template>
-
-   <xsl:template match="link[@id and @doc]">
-
-      <a href="{substring-before(@doc, '.xml')}.html#{@id}">
-         <xsl:apply-templates/>
-      </a>
-   </xsl:template>
-
-   <xsl:template match="link"> 
-      <u>
-         <xsl:apply-templates/>
-      </u>
-   </xsl:template>
-
-   <xsl:template match="list[@type='bullet']"> 
-      <ul>
-         <xsl:apply-templates/>
-      </ul>
-   </xsl:template>
-
-   <xsl:template match="list[@type='enum']"> 
-      <ol>
-         <xsl:apply-templates/>
-      </ol>
-   </xsl:template>
-
-   <xsl:template match="listitem"> 
-      <li>
-         <xsl:apply-templates/>
-      </li>
-   </xsl:template>
-
-   <xsl:template match="list[@type='tag']"> 
-      <dl compact="">
-         <xsl:apply-templates/>
-      </dl>
-   </xsl:template>
-
-   <xsl:template match="tag-name"> 
-      <dt>
-         <xsl:apply-templates/>
-      </dt>
-   </xsl:template>
-
-   <xsl:template match="tag-desc"> 
-      <dd>
-         <xsl:apply-templates/>
-      </dd>
-   </xsl:template>
-
-   <xsl:template match="pathname"> 
-      <code>
-         <xsl:apply-templates/>
-      </code>
-   </xsl:template>
-
-   <xsl:template match="argument"> 
-      <code>
-         <i>
-            <xsl:apply-templates/>
-         </i>
-      </code>
-   </xsl:template>
-
-   <xsl:template match="parameter"> 
-      <code>
-         <xsl:apply-templates/>
-      </code>
-   </xsl:template>
-
-   <xsl:template match="value"> 
-      <code>
-         <xsl:apply-templates/>
-      </code>
-   </xsl:template>
-
-   <xsl:template match="var"> 
-      <code>
-         <xsl:apply-templates/>
-      </code>
-   </xsl:template>
-
-</xsl:stylesheet>
deleted file mode 100644
--- a/docs/xslt/directive.xslt
+++ /dev/null
@@ -1,102 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
-
-   <xsl:template match="directive">
-
-      <hr/>
-
-      <a name="{@name}"/>
-        <!-- <center><h4><xsl:value-of select="@name"/> </h4></center> -->
-
-      <xsl:apply-templates select="syntax"/>
-
-      <xsl:apply-templates select="default"/>
-
-      <xsl:apply-templates select="context"/>
-
-      <xsl:if test="(@appeared-in)">
-
-         <strong>appeared in version</strong>:
-         <xsl:value-of select="@appeared-in"/>
-      </xsl:if>
-
-      <xsl:apply-templates select="para"/>
-   </xsl:template>
-
-   <xsl:template match="syntax">
-      <xsl:choose>
-
-         <xsl:when test="position() = 1">
-
-            <strong>syntax</strong>:
-         </xsl:when>
-
-         <xsl:otherwise>
-
-            <code>       </code>
-         </xsl:otherwise>
-      </xsl:choose>
-
-      <code>
-
-         <xsl:apply-templates/> 
-      </code>
-      <br/>
-   </xsl:template>
-
-   <xsl:template match="default">
-
-      <strong>default</strong>:
-      <xsl:choose>
-
-         <xsl:when test="count(text()) = 0">
-
-            <strong>none</strong>
-         </xsl:when>
-
-         <xsl:otherwise>
-
-            <code>
-               <xsl:apply-templates/>
-            </code>
-         </xsl:otherwise>
-      </xsl:choose>
-
-      <br/>
-   </xsl:template>
-
-   <xsl:template match="context">
-
-      <xsl:if test="position() = 1">
-
-         <strong>context</strong>:
-      </xsl:if>
-      <xsl:choose>
-
-         <xsl:when test="count(text()) = 0">
-
-            <strong>any</strong>
-         </xsl:when>
-
-         <xsl:otherwise>
-
-            <code>
-               <xsl:apply-templates/>
-            </code>
-         </xsl:otherwise>
-      </xsl:choose>
-      <xsl:choose>
-
-         <xsl:when test="position() != last()">
-
-            <xsl:text>, </xsl:text>
-         </xsl:when>
-
-         <xsl:otherwise>
-
-            <br/>
-         </xsl:otherwise>
-      </xsl:choose>
-   </xsl:template>
-
-</xsl:stylesheet>
deleted file mode 100644
--- a/docs/xslt/module.xslt
+++ /dev/null
@@ -1,42 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
-
-   <xsl:output indent="no" encoding="utf-8" method="html"/>
-
-   <xsl:strip-space elements="*"/>
-
-   <xsl:param select="'../xml'" name="XML"/>
-
-   <xsl:variable select="/module/@id" name="ID"/>
-
-   <xsl:include href="directive.xslt"/>
-
-   <xsl:include href="content.xslt"/>
-
-   <xsl:template match="/module">
-
-      <html>
-         <head>
-
-            <title>
-               <xsl:value-of select="@name"/>
-            </title>
-
-         </head>
-
-         <body>
-
-            <center>
-               <h3>
-                  <xsl:value-of select="@name"/>
-               </h3>
-            </center>
-
-            <xsl:apply-templates/>
-
-         </body>
-
-      </html>
-   </xsl:template>
-
-</xsl:stylesheet>