# nanohttpd/nanohttpd

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/nanohttpd-nanohttpd).**

7,215 stars · 1,718 forks · Java · BSD-3-Clause

## Links

- GitHub: https://github.com/NanoHttpd/nanohttpd
- Homepage: http://nanohttpd.org
- awesome-repositories: https://awesome-repositories.com/repository/nanohttpd-nanohttpd.md

## Description

NanoHTTPD is a lightweight, embeddable HTTP server for Java applications. It allows developers to integrate web server capabilities directly into a Java project to handle incoming requests without requiring a standalone installation.

The project provides specialized implementations for an HTTPS web server, a WebSocket server for bidirectional real-time communication, and a static file web server. These capabilities enable secure network traffic through SSL certificates and the delivery of local files with automatic MIME type detection.

The server includes systems for request routing and handling, as well as utilities for managing large file streaming and uploads. It also incorporates security configurations for cross-origin resource sharing policies.

## Tags

### Web Development

- [Embedded Web Servers](https://awesome-repositories.com/f/web-development/embedded-web-servers.md) — Provides a lightweight HTTP server designed to be integrated directly into Java application processes. ([source](https://github.com/nanohttpd/nanohttpd#readme))
- [HTTP Servers](https://awesome-repositories.com/f/web-development/http-servers.md) — Provides a lightweight, embeddable HTTP server engine integrated directly into Java applications.
- [HTTP Request Handling](https://awesome-repositories.com/f/web-development/backend-development/request-response-handling/http-request-handling.md) — Implements utilities for parsing and managing incoming HTTP requests and their associated data payloads. ([source](https://github.com/nanohttpd/nanohttpd#readme))
- [HTTP Request Handlers](https://awesome-repositories.com/f/web-development/backend-development/web-frameworks/routing-request-handling/http-request-handlers.md) — Uses components that route incoming HTTP traffic to specific handler classes for processing.
- [Lightweight Web Frameworks](https://awesome-repositories.com/f/web-development/lightweight-web-frameworks.md) — Offers a minimalist framework for building simple web services that process and route HTTP requests.
- [Request Routing](https://awesome-repositories.com/f/web-development/request-routing.md) — Ships a system for directing incoming network requests to appropriate handlers based on path and method matching. ([source](https://github.com/nanohttpd/nanohttpd#readme))
- [Response Streaming](https://awesome-repositories.com/f/web-development/backend-development/request-response-handling/http-response-handling/response-streaming.md) — Implements incremental delivery of large HTTP response bodies to optimize server memory usage.
- [Protocol Upgrades](https://awesome-repositories.com/f/web-development/protocol-upgrades.md) — Implements the handshake mechanism for upgrading standard HTTP connections to bidirectional WebSocket streams.
- [Real-Time Communication](https://awesome-repositories.com/f/web-development/real-time-communication.md) — Enables bidirectional data channels between clients and servers for real-time updates and messaging.
- [Static Content Delivery](https://awesome-repositories.com/f/web-development/static-content-delivery.md) — Delivers files from a directory with support for index files and automatic MIME type detection. ([source](https://github.com/nanohttpd/nanohttpd#readme))
- [Static File Servers](https://awesome-repositories.com/f/web-development/static-file-servers.md) — Provides a lightweight server for hosting static files directly from the local disk. ([source](https://github.com/nanohttpd/nanohttpd#readme))
- [Static Asset Serving](https://awesome-repositories.com/f/web-development/web-infrastructure-deployment/web-server-capabilities/static-asset-serving.md) — Provides capabilities for delivering static files and directory listings directly to clients.
- [Static File Servers](https://awesome-repositories.com/f/web-development/web-infrastructure-deployment/web-server-capabilities/static-file-servers.md) — Serves static assets like images and scripts from local directories with automatic MIME type detection.

### Networking & Communication

- [WebSocket Servers](https://awesome-repositories.com/f/networking-communication/distributed-systems-p2p/distributed-computing/communication-protocols/websocket-implementations/websocket-servers.md) — Includes a WebSocket server for establishing persistent, bidirectional real-time communication channels.
- [Secure Socket Wrappers](https://awesome-repositories.com/f/networking-communication/socket-networking/secure-socket-wrappers.md) — Wraps standard TCP sockets in SSL layers to ensure encrypted and secure HTTPS communication.
- [Websocket Connection Managers](https://awesome-repositories.com/f/networking-communication/connection-management/websocket-connection-managers.md) — Provides systems to maintain persistent WebSocket connections with lifecycle event handling. ([source](https://github.com/nanohttpd/nanohttpd#readme))
- [WebSocket Servers](https://awesome-repositories.com/f/networking-communication/websocket-servers.md) — Implements a server for persistent bidirectional communication channels using the WebSocket protocol. ([source](https://github.com/nanohttpd/nanohttpd#readme))

### Security & Cryptography

- [Security & HTTPS](https://awesome-repositories.com/f/security-cryptography/network-infrastructure-security/web-network-security/security-https.md) — Manages SSL certificates and encryption protocols to ensure secure, authenticated HTTPS communication.

### DevOps & Infrastructure

- [Response Streaming](https://awesome-repositories.com/f/devops-infrastructure/file-uploaders/large-file-optimization/response-streaming.md) — A capability for sending large files to clients using partial content support to prevent memory overhead during transmission. ([source](https://github.com/nanohttpd/nanohttpd#readme))

### Part of an Awesome List

- [Web Servers](https://awesome-repositories.com/f/awesome-lists/devtools/web-servers.md) — Tiny and easily embeddable HTTP server.
