Return-Path: Delivered-To: new-httpd-archive@hyperreal.org Received: (qmail 3253 invoked by uid 6000); 13 Dec 1999 18:02:22 -0000 Received: (qmail 3221 invoked from network); 13 Dec 1999 18:02:17 -0000 Received: from mail.plc.com (HELO prologic.com) (208.218.20.4) by taz.hyperreal.org with SMTP; 13 Dec 1999 18:02:17 -0000 Received: from cos.crosstor.com(192.168.1.75) by prologic.crosstor.com via smap (V2.1) id xma028641; Mon, 13 Dec 99 13:01:49 -0500 Received: from mechanist.plc.com by cos.crosstor.com (SMI-8.6/SMI-SVR4) id LAA06792; Mon, 13 Dec 1999 11:02:31 -0700 Received: from crosstor.com (localhost [127.0.0.1]) by mechanist.plc.com (8.9.1b+Sun/8.9.1) with ESMTP id LAA09471 for ; Mon, 13 Dec 1999 11:05:07 -0700 (MST) Message-ID: <38553553.94A7CA5A@crosstor.com> Date: Mon, 13 Dec 1999 11:05:07 -0700 From: Tom Harrington Organization: CrosStor Software, Inc. X-Mailer: Mozilla 4.61 [en] (X11; U; SunOS 5.7 i86pc) X-Accept-Language: en Mime-Version: 1.0 To: new-httpd@apache.org Subject: Re: apache design doc... References: <384EBA63.9E2E74EF@us.ibm.com> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: new-httpd-owner@apache.org Precedence: bulk Reply-To: new-httpd@apache.org Status: O Ovies Brabson wrote: > > > Hi, > > Sorry if this is OT..but I thought this might be the best list to ask... > > > > Where can I find a document that explains the design of httpd.?? I know I > > should be looking at the source but any doc that willl ease the task will be > > really appreciated.. > > > > Thx, > > Arni > > > I recently found a book that might be what you are looking for. "Apache > Server, Commentary, In-Depth Code Annotation" by Greg Holden, Nicholas > Wells, Matthew Keller. The first half of the book seems to be a print > out of the apache source code and the second half of the book describes > what pieces fit together and what they do and refers back to the source > code. It may what you are looking for if you are trying to learn the > code. Unfortunately the commentary in this book is not nearly as useful as I had hoped. It can be helpful in understanding what a specific line does, in those cases where there's actually a comment for the line in question. But often there's no comments at all. For example, standalone_main is nearly 300 lines long in their printout, yet merits only about a dozen very short comments that mostly fail to illuminate. The problem with the comments is mostly a "can't see the forest for the trees" problem-- describing a single line doesn't help much if you don't understand the context in which it exists, and the context is generally not covered in this book. And it's not even complete-- the "main" portion of the Apache source has 17 source files, but only 3 are covered by this book. On the whole the primary advantage of the book is that it's marginally more convenient than printing your own copy of the source code. A better reference, IMHO, is _Writing_Apache_Modules_, by Lincoln Stein and Doug MacEachern (pub. by O'Reilly). It doesn't get down into the details in the same way that _Apache_Server_Commentary_ does, but it does give a better overview of just what the heck is going on in all that code. It also has some gaps in its coverage, but then it's not really intended as an "in-depth code annotation". Chapter 3, "The Apache Module Architecture and API", and chapters 10 and 11, "C API Reference Guide" parts 1 and 2, are far more useful than the server commentary book. The book's web site, with source code examples and a few free chapters, is at . Also make sure to check out the Apache API Dictionary, at Ultimately, though, the best solution is to dig into the source code yourself. It's somewhat tedious at first, but it's the only way. After a few weeks' work I'm just finally beginning to grok it in fullness. -- Tom Harrington CrosStor Software, Inc. tph@crosstor.com