Where can I find information on how to implement an HTTP server? (not the HTTP protocol, but the server itself)
...
More specifically, I'd like a reference for people who want e.g. tutorials on writing HTTP servers that are a complement to the RFC.
...
Personally, I've built up knowledge of the differnt HTTP servers
...
Or, even better, would be sites that compare and contrast web server implementation details (I know these exist
A take it you want to implelemt the whole thing
I don't want to implement anything - I want information I can provide to others which explains how to implement it.
so just a servlet in a tomcat container would not be good enough
I want tutorials on *how* to implement things; running tomcat is the answer to a different kind of question.
Jeez why the hell you you want to do the whole thing?
HTTP servers are an excellent way for beginners to try out their programming expertise on real-life, non "toy" servers.
- everyone has a free client to test with
- protocol debugging is very simple due to HTTP's base format (use telnet to manually connect)
- HTTP is a very well known protocol, so most tools have special support (e.g. packet sniffers always have support for decoding HTTP packets)
- it has some of the best RFC's compared to the other non-trivial protocols
- it is an extremely general-purpose protocol, useful for many real-life situations; it is used in a lot of games (though they don't tell you that)
- it has advanced practical features, like resuming of downloads
However, I don't want to write a whole book on "how to write an HTTP server"; I *could* do it, but I've got better things to do with my life and I'm 99% sure that most of the info for this is already out there, and well-written by others.
This assuming you would like to stick the way J2EE has abstracted the Http process.
Not really; J2EE hasn't so much abstracted HTTP as mangled it IMHO. There's little of practical use that implementors can learn from looking at J2EE servlets.