TinyWebServer is a lightweight C++ web server framework for Linux, intended for learning and small to medium load usage. It leverages nonblocking sockets, epoll, and thread pools to handle high concurrency. It supports HTTP request parsing (GET and POST), serves static content (images, video files), integrates basic database-backed user registration/login, and implements synchronous/asynchronous logging systems. The project is often used by learners to practice network programming in C++ with high concurrency models.

Features

  • Uses thread pool + nonblocking sockets + epoll (supporting both ET and LT modes)
  • HTTP request parsing via a state machine capable of processing GET and POST
  • Static file serving (images, video, etc.)
  • Database integration for user registration and login
  • Logging subsystem (sync / async) to track server runtime state
  • Tested under high concurrency (Webbench) to support tens of thousands of simultaneous connections

Project Samples

Project Activity

See All Activity >

Categories

HTTP Servers

License

Apache License V2.0

Follow TinyWebServer

TinyWebServer Web Site

nel_h2
Gen AI apps are built with MongoDB Atlas Icon
Gen AI apps are built with MongoDB Atlas

Build gen AI apps with an all-in-one modern database: MongoDB Atlas

MongoDB Atlas provides built-in vector search and a flexible document model so developers can build, scale, and run gen AI apps without stitching together multiple databases. From LLM integration to semantic search, Atlas simplifies your AI architecture—and it’s free to get started.
Start Free
Rate This Project
Login To Rate This Project

User Reviews

Be the first to post a review of TinyWebServer!

Additional Project Details

Operating Systems

Linux

Programming Language

C++

Related Categories

C++ HTTP Servers

Registered

6 days ago