Mongoose is easy to use web server. It also can be used as embedded web server library to provide web interface to applications.
Mongoose executable does not depend on any external library or configuration. If it is copied to any directory and launched from there, it starts to serve that directory on port 8080 (so to access files, go to http://localhost:8080). If some additional config is required - for example, different listening port or IP-based access control, that can be done via command line flags or configuration file, which should be created in the same directory where mongoose itself lives. This makes Mongoose perfect for all sorts of demos, quick tests, file sharing, and Web programming.
- Crossplatform - works on Windows, MacOS and most flavors of UNIX
- CGI, SSL, SSI, Digest (MD5) authorization, Websocket, WEbDAV support
- Resumed download, URL rewrite support
- IP-based ACL, Windows service, GET, POST, HEAD, PUT, DELETE methods
- Excluding files from serving by URI pattern
- Download speed limit based on client subnet or URI pattern
- Small footprint: executable size is 40 kB on Linux 2.6 i386 system
- Embeddable with simple and clean API (mongoose.h). The source is in single mongoose.c file to make things easy.
- Embedding examples: hello.c, post.c, upload.c, websocket.c
- Python and C# bindings
You can read it online, subscribe to, or send a message at mongoose-users.
I have a books wishlist on Amazon. If you feel brave, you can buy me a book!