<manualpage metafile="hooks.xml.meta">
<parentdocument href="./">Developer Documentation</parentdocument>
-<title>Apache 2.0 Hook Functions</title>
+<title>Hook Functions in the Apache HTTP Server 2.x</title>
<summary>
<note type="warning"><title>Warning</title>
date.</p>
</note>
- <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>
</summary>
<section id="create"><title>Creating a hook function</title>
<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.
</section>
<section id="hooking-add"><title>Add a hook registering function</title>
- <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>
</section>
</section>
</manualpage>
<manualpage metafile="request.xml.meta">
<parentdocument href="./">Developer Documentation</parentdocument>
-<title>Request Processing in Apache 2.0</title>
+<title>Request Processing in the Apache HTTP Server 2.x</title>
<summary>
<note type="warning"><title>Warning</title>
revision!</p>
</note>
- <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>
</summary>
<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>
</section>
<manualpage metafile="thread_safety.xml.meta">
<parentdocument href="./">Developer Documentation</parentdocument>
-<title>Apache 2.0 Thread Safety Issues</title>
+<title>Apache HTTP Server 2.x Thread Safety Issues</title>
<summary>
- <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