It seems to be cool to write webservers at the moment
AK is writing one and also fiveinch (fellow student) and me finished
swebd which was the last homework of the
UNIX course at
university.
Swebd is a simple webserver written in C which supports compression of the content (zlib) and a simple administration interface.
http://ni.cs.tu-berlin.de/lehre/unix/ss06/swebd.html is the description of the task (in german).
Since we are learning for written tests at the moment the code could be a bit better (especially the authentification and the linked-list handling).
Check out the source at:
http://user.cs.tu-berlin.de/~nion/swebd or use
wget --mirror --no-parent --convert-links http://user.cs.tu-berlin.de/~nion/swebd/
We developed it under Solaris, to make it compile under Linux remove -lsocket from the makefile.