NanoHttpd is a lightweight HTTP server designed for embedding in other applications. It's only one Java file, in two "flavors", one strictly Java 1.1 compatible, and one at "current" standards. It supports GET, POST, PUT, HEAD and DELETE requests, and supports file uploading with very small memory overhead. Temp file usage and the threading model are easily customized.

Changes:
Polish for the Web server, and a fix for a bug causing stack traces on Samsung Phones. 'Connection: keep-alive' was implemented and tested against the latest Mozilla Firefox.

URL:
NanoHttpd – Freecode