# me-no-dev/espasyncwebserver

**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/me-no-dev-espasyncwebserver).**

4,036 stars · 1,378 forks · C++ · LGPL-3.0 · archived

## Links

- GitHub: https://github.com/me-no-dev/ESPAsyncWebServer
- awesome-repositories: https://awesome-repositories.com/repository/me-no-dev-espasyncwebserver.md

## Description

ESPAsyncWebServer is an asynchronous web server designed for ESP32 and ESP8266 microcontrollers. It enables these devices to host websites and APIs to provide embedded device interfaces for hardware control and data display.

The server utilizes non-blocking HTTP handling to process multiple concurrent network connections. This allows the device to manage web requests without pausing other background tasks or sensor readings.

The implementation relies on asynchronous socket operations, event-loop request handling, and buffer-based stream parsing. It integrates directly with the network layer through TCP-stack callback integration and asynchronous handler callbacks.

## Tags

### Networking & Communication

- [Asynchronous HTTP Servers](https://awesome-repositories.com/f/networking-communication/asynchronous-http-servers.md) — Provides an asynchronous HTTP server for microcontrollers that handles multiple concurrent connections without blocking execution. ([source](https://github.com/me-no-dev/espasyncwebserver#readme))
- [Non-Blocking Socket I/O](https://awesome-repositories.com/f/networking-communication/socket-networking/non-blocking-socket-i-o.md) — Implements asynchronous socket operations to send and receive data without waiting for network acknowledgments.
- [Network Layer Callbacks](https://awesome-repositories.com/f/networking-communication/tcp-connection-lifecycles/tcp-client-connections/tcp-event-callbacks/network-layer-callbacks.md) — Hooks directly into the TCP stack to trigger request handlers only when data is fully available in the buffer.

### Hardware & IoT

- [Embedded Configuration Interfaces](https://awesome-repositories.com/f/hardware-iot/embedded-configuration-interfaces.md) — Enables the creation of web-based configuration interfaces and control panels that run directly on embedded hardware.
- [ESP32 Web Servers](https://awesome-repositories.com/f/hardware-iot/esp32-web-servers.md) — Facilitates the development of websites and APIs that run directly on ESP32 microcontrollers to control hardware.
- [ESP8266 Web Servers](https://awesome-repositories.com/f/hardware-iot/esp8266-web-servers.md) — Allows the creation of network-connected ESP8266 devices that can be managed via a web browser.

### Software Engineering & Architecture

- [Non-Blocking Event Loops](https://awesome-repositories.com/f/software-engineering-architecture/non-blocking-event-loops.md) — Uses a non-blocking event loop to manage multiple concurrent HTTP connections without stalling the main CPU.

### Part of an Awesome List

- [HTTP Stream Parsing](https://awesome-repositories.com/f/awesome-lists/data/html-and-xml-parsing/xml-parsing/stream-based-parsing/http-stream-parsing.md) — Provides buffer-based parsing of incoming HTTP streams to prevent blocking the microcontroller during slow data transmissions.

### User Interface & Experience

- [Asynchronous Network Callbacks](https://awesome-repositories.com/f/user-interface-experience/event-handling/asynchronous-network-callbacks.md) — Implements asynchronous callbacks that trigger user functions in response to network I/O events without blocking system tasks.

### Web Development

- [HTTP Request Handling](https://awesome-repositories.com/f/web-development/backend-development/request-response-handling/http-request-handling.md) — Provides non-blocking HTTP request handling to ensure sensor readings and background tasks continue during web traffic.
