A lightweight, embeddable HTTP server library for Java applications, packaged as a single Java file.
NanoHTTPD is a lightweight, embeddable HTTP server library written in Java. It allows developers to add HTTP server functionality directly into their Java applications with minimal overhead, serving as a foundation for custom web services, file servers, or WebSocket endpoints.
Java developers needing a simple HTTP server embedded within applications, such as for serving APIs, static files, or prototyping web services without deploying a full application server.
Its single-file core and lack of external dependencies make it extremely easy to integrate and customize, offering a balance of essential HTTP features with maximum flexibility for specialized use cases.
Tiny, easily embeddable HTTP server in Java.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Core HTTP server is implemented in a single Java file with no external dependencies, making it easy to embed and reduce bloat in applications.
Designed to be extended by overriding the serve method, allowing developers to tailor HTTP handling precisely to their needs without overhead.
Includes SSL support for secure connections and a separate WebSocket module for real-time communication, adding versatility without extra libraries.
Manages file uploads using memory for small files and temporary files for large ones, preventing memory issues in resource-constrained environments.
Lacks built-in authentication, logging, and configuration systems, requiring developers to implement these from scratch, which increases development time.
Only supports HTTP 1.1, lacking modern protocols like HTTP/2 that can improve performance and efficiency in contemporary web applications.
Advanced features such as Nanolets have sparse examples and limited guidance, making it challenging for users to leverage them without deep diving into source code.