NanoHttpd is an open-source, small-footprint web server that is suitable for embedding in applications, written in the Java programming language.
It can be used as a library component in developing other software (such as measurement,[1] science,[2] and database[3] applications) or as a standalone ad-hoc style HTTP daemon for serving files.
Due to independence from Java features beyond JDK 1.1, NanoHttpd is suited for embedded application development.
[4] The original version, released in 2003, only included simple HTTP 1.0 features, but the software has since been extended to support some more advanced techniques such as HTTP 'keep-alive' connections, full REST style HTTP Methods, HTML5 video streaming or HTTP uploading through multipart extensions.
[5] Current version includes WebSocket and experimental HTTPS support.