HomeApache Page 3 - Book Review: The Apache Modules Book
Chapters Six Through Ten - Apache
The Apache Modules Book is the latest open-source software development book from Prentice Hall. The book forms part of the Open Source Development Series from Prentice Hall, which includes other titles such as Understanding AJAX and Embedded Linux. Dan Wellman looks at this book chapter by chapter to see whether it's a worthy addition to an open source developer's library.
The next three chapters look at some request handling fundamentals in more detail. Chapter six looks at the request processing cycle and metadata handlers in great detail and focuses on subjects such as the metadata sent to the server in an HTTP request, how the modules of Apache can hook into this metadata, internal redirection and how the request processing flow is interrupted and diverted to error documents. To show some of the examples illustrated in this chapter working, a new module is also written.
Chapter seven moves on to look at the Apache access, authentication and authorization (AAA) framework in great detail and again provides a lot of example code, although no new modules are produced during this chapter. As the author points out, the need to write modules that deal specifically with AAA is less pressing with the improvements in this area in Apache 2.2; however, including this information helps to refine your knowledge of the subject and prepares you just in case you ever need it.
Chapter eight moves on to discuss the modules that play a part in the filter chain part of the request cycle, and how to develop your own modules that work with filters. Two example modules are created in this chapter, each exposing different aspects of this large topic. Again this is a great chapter for expanding your all-round working knowledge of Apache, and where words fail to completely describe different filter concepts, flow diagrams are included to maximize your learning of the subject. The chapter goes into fine detail about the input and output filters, the code that drives them and the function of each. These three chapters also contain a lot of information on how Apache works that will be of use to anyone that wants to learn about the web server, not just those interested in writing custom modules.
In chapter nine, the author looks at the different methods for exposing your custom modules to configuration, so that administrators or users can control how your modules function. Apache, as any administrator will know, is configured with the use of directives added to the httpd.conf file, and this chapter looks in detail at how similar configuration settings are created to apply to your module.
Chapter ten looks at extending the API in order to implement new API functions, implement new hooks, and provide services. Processing hooks work with the requests that the server receives and a thorough explanation of how hooks work is also provided. A lot of information is also given in this chapter about how modules can interact with each other through exported functions and services.