This file is generated from xml source: DO NOT EDIT
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-->
-<title>Documenting Apache 2.0 - Apache HTTP Server</title>
+<title>Documenting code in Apache 2.4 - Apache HTTP Server</title>
<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" />
<img alt="" src="../images/feather.gif" /></div>
<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div>
<div id="path">
-<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Developer Documentation</a></div><div id="page-content"><div id="preamble"><h1>Documenting Apache 2.0</h1>
+<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Developer Documentation</a></div><div id="page-content"><div id="preamble"><h1>Documenting code in Apache 2.4</h1>
<div class="toplang">
<p><span>Available Languages: </span><a href="../en/developer/documenting.html" title="English"> en </a> |
<a href="../zh-cn/developer/documenting.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese"> zh-cn </a></p>
</div>
- <p>Apache 2.0 uses <a href="http://www.doxygen.org/">Doxygen</a> to
+ <p>Apache 2.4 uses <a href="http://www.doxygen.org/">Doxygen</a> to
document the APIs and global variables in the code. This will explain
the basics of how to document using Doxygen.</p>
</div>
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE manualpage SYSTEM "../style/manualpage.dtd">
<?xml-stylesheet type="text/xsl" href="../style/manual.zh-cn.xsl"?>
-<!-- English Revision: 586770:1174747 (outdated) -->
+<!-- English Revision: 586770:1325333 (outdated) -->
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
This file is generated from xml source: DO NOT EDIT
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-->
-<title>Apache 2.0 Hook Functions - Apache HTTP Server</title>
+<title>Hook Functions in the Apache HTTP Server 2.x - Apache HTTP Server</title>
<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" />
<img alt="" src="../images/feather.gif" /></div>
<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div>
<div id="path">
-<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Developer Documentation</a></div><div id="page-content"><div id="preamble"><h1>Apache 2.0 Hook Functions</h1>
+<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Developer Documentation</a></div><div id="page-content"><div id="preamble"><h1>Hook Functions in the Apache HTTP Server 2.x</h1>
<div class="toplang">
<p><span>Available Languages: </span><a href="../en/developer/hooks.html" title="English"> en </a></p>
</div>
date.</p>
</div>
- <p>In general, a hook function is one that Apache will call at
- some point during the processing of a request. Modules can
- provide functions that are called, and specify when they get
- called in comparison to other modules.</p>
+ <p>In general, a hook function is one that the Apache HTTP Server
+ will call at some point during the processing of a request.
+ Modules can provide functions that are called, and specify when
+ they get called in comparison to other modules.</p>
</div>
<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#create">Creating a hook function</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#hooking">Hooking the hook</a></li>
<p>The first hook that does <em>not</em> return <code>DECLINED</code>
stops the loop and its return value is returned from the hook
- caller. Note that <code>DECLINED</code> is the tradition Apache
- hook return meaning "I didn't do anything", but it can be
+ caller. Note that <code>DECLINED</code> is the traditional
+ hook return value meaning "I didn't do anything", but it can be
whatever suits you.</p>
<p>Alternatively, all hooks can be run until an error occurs.
<h3><a name="hooking-add" id="hooking-add">Add a hook registering function</a></h3>
- <p>During initialisation, Apache will call each modules hook
+ <p>During initialisation, the server will call each modules hook
registering function, which is included in the module
structure:</p>
order relative to each other, but, of course, all modules using
<code>APR_HOOK_FIRST</code> will be run before <code>APR_HOOK_MIDDLE</code>
which are before <code>APR_HOOK_LAST</code>. Modules that don't care
- when they are run should use <code>APR_HOOK_MIDDLE</code>. <em>(I spaced
- these out so people could do stuff like <code>APR_HOOK_FIRST-2</code>
- to get in slightly earlier, but is this wise? - Ben)</em></p>
+ when they are run should use <code>APR_HOOK_MIDDLE</code>. <em>These
+ values are spaced out, so that positions like <code>APR_HOOK_FIRST-2</code>
+ are possible to hook slightly earlier than other functions.</em></p>
<p>Note that there are two more values,
<code>APR_HOOK_REALLY_FIRST</code> and <code>APR_HOOK_REALLY_LAST</code>. These
ordering set by <code>APR_HOOK_<var>ORDER</var></code> is preserved, as far
as is possible.</p>
- <p class="cite"><cite>Ben Laurie</cite>, 15th August 1999</p>
</div></div>
<div class="bottomlang">
This file is generated from xml source: DO NOT EDIT
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-->
-<title>Developer Documentation for Apache 2.x - Apache HTTP Server</title>
+<title>Developer Documentation for the Apache HTTP Server 2.4 - Apache HTTP Server</title>
<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" />
<img alt="" src="../images/feather.gif" /></div>
<div class="up"><a href="../"><img title="<-" alt="<-" src="../images/left.gif" /></a></div>
<div id="path">
-<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a></div><div id="page-content"><div id="preamble"><h1>Developer Documentation for Apache 2.x</h1>
+<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a></div><div id="page-content"><div id="preamble"><h1>Developer Documentation for the Apache HTTP Server 2.4</h1>
<div class="toplang">
<p><span>Available Languages: </span><a href="../en/developer/" title="English"> en </a> |
<a href="../zh-cn/developer/" hreflang="zh-cn" rel="alternate" title="Simplified Chinese"> zh-cn </a></p>
<a href="http://httpd.apache.org/lists.html#http-dev">dev@httpd.apache.org</a> mailing list.</p>
</div>
</div>
-<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#topics">Topics</a></li>
+<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#developing">2.4 development documents</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#upgrading">Upgrading to 2.4</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#external">External Resources</a></li>
</ul></div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
-<h2><a name="topics" id="topics">Topics</a></h2>
+<h2><a name="developing" id="developing">2.4 development documents</a></h2>
<ul>
- <li><a href="new_api_2_4.html">API changes in Apache 2.3/2.4</a></li>
- <li><a href="hooks.html">Apache 2.x Hook Functions</a></li>
- <li><a href="request.html">Request Processing in Apache 2.x</a></li>
- <li><a href="filters.html">How filters work in Apache 2.x</a></li>
- <li><a href="output-filters.html">Guidelines for output filters in Apache 2.x</a></li>
- <li><a href="modules.html">Converting Modules from Apache 1.3 to Apache 2.x</a></li>
- <li><a href="documenting.html">Documenting Apache 2.x</a></li>
- <li><a href="thread_safety.html">Apache 2.x Thread Safety Issues</a></li>
+ <li><a href="modguide.html">Developing modules for the Apache HTTP Server 2.4</a></li>
+ <li><a href="hooks.html">Hook Functions in 2.4</a></li>
+ <li><a href="request.html">Request Processing in 2.4</a></li>
+ <li><a href="filters.html">How filters work in 2.4</a></li>
+ <li><a href="output-filters.html">Guidelines for output filters in 2.4</a></li>
+ <li><a href="documenting.html">Documenting code in 2.4</a></li>
+ <li><a href="thread_safety.html">Thread Safety Issues in 2.4</a></li>
+ </ul>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="upgrading" id="upgrading">Upgrading to 2.4</a></h2>
+ <ul>
+ <li><a href="new_api_2_4.html">API changes in 2.3/2.4</a></li>
+ <li><a href="modules.html">Converting Modules from 1.3 to 2.x</a></li>
</ul>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<li>Developer articles at <a href="http://www.apachetutor.org/">apachetutor</a> include:
<ul>
- <li><a href="http://www.apachetutor.org/dev/request">Request Processing in Apache</a></li>
+ <li><a href="http://www.apachetutor.org/dev/request">Request Processing</a></li>
<li><a href="http://www.apachetutor.org/dev/config">Configuration for Modules</a></li>
- <li><a href="http://www.apachetutor.org/dev/pools">Resource Management in Apache</a></li>
- <li><a href="http://www.apachetutor.org/dev/reslist">Connection Pooling in Apache</a></li>
+ <li><a href="http://www.apachetutor.org/dev/pools">Resource Management</a></li>
+ <li><a href="http://www.apachetutor.org/dev/reslist">Connection Pooling</a></li>
<li><a href="http://www.apachetutor.org/dev/brigades">Introduction to Buckets and Brigades</a></li>
</ul></li>
</ul>
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE manualpage SYSTEM "../style/manualpage.dtd">
<?xml-stylesheet type="text/xsl" href="../style/manual.zh-cn.xsl"?>
-<!-- English Revision: 1042988:1311433 (outdated) -->
+<!-- English Revision: 1042988:1326057 (outdated) -->
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
This file is generated from xml source: DO NOT EDIT
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-->
-<title>Request Processing in Apache 2.0 - Apache HTTP Server</title>
+<title>Request Processing in the Apache HTTP Server 2.x - Apache HTTP Server</title>
<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" />
<img alt="" src="../images/feather.gif" /></div>
<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div>
<div id="path">
-<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Developer Documentation</a></div><div id="page-content"><div id="preamble"><h1>Request Processing in Apache 2.0</h1>
+<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Developer Documentation</a></div><div id="page-content"><div id="preamble"><h1>Request Processing in the Apache HTTP Server 2.x</h1>
<div class="toplang">
<p><span>Available Languages: </span><a href="../en/developer/request.html" title="English"> en </a></p>
</div>
revision!</p>
</div>
- <p>Several changes in Apache 2.0 affect the internal request
+ <p>Several changes in 2.0 and above affect the internal request
processing mechanics. Module authors need to be aware of these
changes so they may take advantage of the optimizations and
security enhancements.</p>
<p>The first major change is to the subrequest and redirect
mechanisms. There were a number of different code paths in
- Apache 1.3 to attempt to optimize subrequest or redirect
- behavior. As patches were introduced to 2.0, these
+ the Apache HTTP Server 1.3 to attempt to optimize subrequest
+ or redirect behavior. As patches were introduced to 2.0, these
optimizations (and the server behavior) were quickly broken due
to this duplication of code. All duplicate code has been folded
back into <code>ap_process_request_internal()</code> to prevent
and correct implementation of the HTTP server RFC. Additional
goals include security, scalability and optimization. New
methods were sought to optimize the server (beyond the
- performance of Apache 1.3) without introducing fragile or
+ performance of 1.3) without introducing fragile or
insecure code.</p>
</div>
<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#processing">The Request Processing Cycle</a></li>
<p>To streamline requests, the module author can take advantage
of the hooks offered to drop out of the request cycle early, or
- to bypass core Apache hooks which are irrelevant (and costly in
+ to bypass core hooks which are irrelevant (and costly in
terms of CPU.)</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
This file is generated from xml source: DO NOT EDIT
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-->
-<title>Apache 2.0 Thread Safety Issues - Apache HTTP Server</title>
+<title>Apache HTTP Server 2.x Thread Safety Issues - Apache HTTP Server</title>
<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" />
<img alt="" src="../images/feather.gif" /></div>
<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div>
<div id="path">
-<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Developer Documentation</a></div><div id="page-content"><div id="preamble"><h1>Apache 2.0 Thread Safety Issues</h1>
+<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Developer Documentation</a></div><div id="page-content"><div id="preamble"><h1>Apache HTTP Server 2.x Thread Safety Issues</h1>
<div class="toplang">
<p><span>Available Languages: </span><a href="../en/developer/thread_safety.html" title="English"> en </a></p>
</div>
- <p>When using any of the threaded mpms in Apache 2.0 it is important
+ <p>When using any of the threaded mpms in the Apache HTTP Server 2.x it is important
that every function called from Apache be thread safe. When linking in 3rd
party extensions it can be difficult to determine whether the resulting
server will be thread safe. Casual testing generally won't tell you this