/im-httpd

a super tiny web server written in C

Primary LanguageCOtherNOASSERTION

Installation:
-------------

Edit config.h

Type make

Find out what you want to do with it from there.


IM-HTTPD:
---------

im-httpd fills our need for a small and lightning fast http server. It
is effectively feature free. Luxuries like directory indexing or transfer
logging do not exist.

The server remains a single process throughout its life. It has no config
file parsing. It has no command line options. It does not thread. It
goes to great lengths to simply read the HTTP request and send back the
file, with minimal fuss/logic in between.

Situations where im-httpd is ideal:

	+ Fast low-resource low-overhead small-file serving. For requests
	like this, something like Apache has far too much overhead.
	
	+ You need a barebones http server that is relatively easy to
	understand that you can modify for your needs with minimal
	effort.

	+ You're using an embedded system and can't afford to
	spare more than 7k of memory for an http server.

Situations where im-httpd might be bad:

	+ Large-fast-file serving. There are far too many interrupts involved
	to make large-fast-file serving efficient. If you anticipate
	serving lots of huge files (like mp3s), you'd probably do good
	to increase the buffer size in config.h  -- on the other hand,
	large-slow-file serving, for serving to modem users, for example
	would be ideal because the client would be the bottleneck.

	+ Environments which require auditing. You can easily add
	transfer logging, but it does not come out of the box.

See config.h for extensive configuration options including the
Document Root, Port, and other goodies..


Questions? Comments?

Michael Bacarella
mbac@panix.com
http://panix.com/~mbac/