From Wikipedia, the free encyclopedia
Jump to: navigation, search
Developer(s) Paul Hawke
Initial release 2003-09-15
Stable release 2.0.4 / June 17, 2013; 12 months ago (2013-06-17)
Written in Java
Operating system Cross-platform
Available in English
Type Web server
License Modified BSD

NanoHttpd is an open-source, small-footprint web server that is suitable for embedding in applications, written in the Java programming language. The source code consists of a single .java file. 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.

NanoHttpd is available in 2 "flavors" - one utilizing up-to-date Java features and one strictly conforming to Java 1.1. Due to independence from Java features beyond JDK 1.1, NanoHttpd is suited for embedded application development. NanoHttpd has been used to build, for example, Android software.[4]

The original version, released in 2003, only included simple HTTP 1.0 features, but the software has been 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]

See also[edit]


  1. ^ Cmuk, Mutapcic, Borsic. "Mobile Measurement Support for Remote Laboratories and E-learning Systems", 16th IMEKO TC4 Symposium
  2. ^ Stehle, Edward et al. "On the use of Computational Geometry to Detect Software Faults at Runtime", 7th IEEE International Conference on Autonomic Computing
  3. ^ VoltDB version repository, retrieved 2011-11-13
  4. ^ Linder, Douglas. Local HTTPD project, retrieved 2011-11-13
  5. ^ Togias, Konstantinos. "KtoHTTPD: Adding multipart/form-data support to NanoHTTPD embedable java web server", retrieved 2011-11-13