Up to higher level directory | |||
Name | Date | Size | |
---|---|---|---|
.gitignore | 08-Oct-2015 | 108 | |
Android.mk | 08-Oct-2015 | 981 | |
core/ | 08-Oct-2015 | ||
LICENSE.md | 08-Oct-2015 | 1.5K | |
pom.xml | 08-Oct-2015 | 2.4K | |
README.md | 08-Oct-2015 | 2.2K | |
samples/ | 08-Oct-2015 | ||
webserver/ | 08-Oct-2015 | ||
websocket/ | 08-Oct-2015 |
1 ## What is "nanohttpd"? 2 3 *NanoHttpd* is a light-weight HTTP server designed for embedding in other applications. 4 5 *NanoHttpd* has been released under a Modified BSD licence. 6 7 ## Core Features 8 * Only one Java file, providing HTTP 1.1 support. 9 * 2 "flavors" - one at "current" standards and one strictly Java 1.1 compatible. 10 * Released as open source, free software, under a Modified BSD licence. 11 * No fixed config files, logging, authorization etc. (Implement by yourself if you need them.) 12 * Experimental support for SSL (see the 'ssl-support' branch in git) 13 * Basic support for cookies 14 * Supports parameter parsing of GET and POST methods. 15 * Rudimentary PUT support (added in 1.25). 16 * Support for HEAD and DELETE requests. 17 * Supports single and multi-value parameters (w/ a helper method) if needed. 18 * Supports file upload (since version 1.2, 2010) with minimal memory overhead. 19 * Never caches anything. 20 * Doesn't limit bandwidth, request time or simultaneous connections. 21 * All header names are converted lowercase so they don't vary between browsers/clients. 22 * Very low memory overhead when processing even the largest of requests. 23 * Temp file usage and threading model are easily cutomized. 24 * Persistent connections (Connection "keep-alive") support allowing multiple requests to be served over a single socket connection. 25 26 ## Websocket Support 27 * Tested on Firefox, Chrome and IE. 28 29 ## Webserver Features 30 * Supports both dynamic content and file serving. 31 * Default code serves files and shows all HTTP parameters and headers. 32 * File server supports directory listing, ```index.html``` and ```index.htm```. 33 * File server supports partial content (streaming). 34 * File server supports ETags. 35 * File server does the 301 redirection trick for directories without ```/```. 36 * File server supports simple skipping for files (continue download). 37 * File server serves also very long files without memory overhead. 38 * Contains a built-in list of most common mime types. 39 * Runtime extension support (extensions that serve particular mime types) - example extension that serves Markdown formatted files. Simply including an extension JAR in the webserver classpath is enough for the extension to be loaded. 40 41 *Thank you to everyone who has reported bugs and suggested fixes.* 42