Configuration Data Structs
As noted above, there are two orthogonal hierarchies of configuration
directives: (Virtual) Hosts and Directories. Internally, this is based
on having two different data structs: the per-server config and the
per-directory config. In fact, every module has its own pointers for
implementing each of these structs, although either or both can be
unused (NULL), and it is unusual for a module to use both of them.
The per-server config is kept on the server_rec,
of which there is one for each virtual host, created at server startup.
The per-directory config is kept on the request_rec
and may be computed using the merge function for every request.