Preface
In early Fall of 1995, my life was pretty full.
I was working full time as a programmer/analyst, had one successful shareware
application on the market, was writing a second one along with my brother,
and had a wife and son at home to fill up the rest of my spare time. While
reading a Usenet newsgroup one day, I noticed a posting titled "Can
you write a web server?" My current shareware program was an ftp server
and the new one was a mail server. I had planned to write a web server
next, so the post definitely intrigued me. Upon reading the post, I found
Manning Publications was looking for an author to write a book on programming
a web server. "Well," I thought, "this is something I've
always wanted to do--write a book." So I fired off an email to Len
Dorfman and promptly forgot about it.
In November 1995, while checking my email I found
a message from Len. I remember wondering what this message was about. Well
as it turned out, Len was looking for someone to write the web server book
and was asking me. With adrenaline pumping up my ego, I took my wife to
lunch to ask what she thought of the idea and for her blessing for me to
give it a try. If only she had known what she was getting herself into!
Over the course of the next twelve months, I
found out what I was getting myself into. The process of writing a book
is not unlike that of writing a software program. You start out with this
grandiose idea of including everything but the kitchen sink. As time passes,
you begin to realize the size of the hole you've dug. There were definitely
times in the process that I felt someone was at the top of the hole shoveling
dirt on top of me. Eventually, if you're venturesome, you keep plodding
through the muck and you do find the light.
As in a software project, at the end you must
finish and release. With this book, I felt the same way. I had been following
the progression of the HTTP/1.1 standard for all of 1996, watching the
changes as they advanced through the various drafts. Whenever a new draft
came out, I'd grab another copy and rework the code to comply yet again.
When draft 6 came out in July, the working group finally had a document
that was mostly complete and stable. I rushed to finish the book and save
some of my family's summer. Draft 7 was eventually released to correct
minor typos in draft 6 and was just recently approved for Proposed Standard
by the IESG (Internet Engineering Steering Group.) Even with the approval
of the proposed standard, and the completion of my first draft, my job
was not yet over. With reviews and rewriting, another three months would
have passed and Christmas of 1996 was knocking at my door. So, finally,
it was time to stop.
As with any of the programs I've written, I feel
the book is not yet complete. There were so many features I wanted to include
but could not if the book were ever to be published. Maybe I'll be lucky
and this book will have a 2.0.
In the meantime, I hope you enjoy this book and
find the information in it useful. Comments about the book are welcome
and encouraged.
Paul Hethmon
Knoxville, Tennessee