CivetWeb is a compact web server that can be embedded into C and C++ applications or run as a standalone server.
Its embedding API lets programs add HTTP, HTTPS and WebSocket services without deploying a separate web-server process, making it useful for device configuration pages, local web interfaces, automation endpoints and protocol gateways. The standalone build can also serve ordinary files and provide server-side scripting. Most functionality can be selected at build time so applications can avoid compiling features they do not need.
This is free and open source software.
Key Features
- Embeds HTTP and HTTPS server functionality into C and C++ applications.
- Provides a standalone web server executable that can operate without a separate installation.
- Offers a C API and an optional C++ wrapper.
- Supports WebSocket servers and WebSocket clients.
- Supports CGI and server-side includes.
- Provides optional Lua server pages, Lua scripts and SQLite integration.
- Offers optional server-side JavaScript support through Duktape.
- Supports WebDAV, including experimental interoperability features for some clients.
- Provides HTTP authentication and optional client-certificate authentication.
- Supports TLS through OpenSSL and can also be built with Mbed TLS support.
- Includes an HTTP client API for arbitrary HTTP and HTTPS requests.
- Supports resumed downloads, URL rewriting, file blacklisting and IP-based access-control lists.
- Can impose download speed limits based on client subnet or URI patterns.
- Can run as a systemd service on supported systems.
- Provides build-time switches for IPv6, WebSockets, Unix domain sockets, server statistics and other optional components.
- Includes C and C++ embedding examples and extensive API documentation.
- Keeps the core server suitable for drop-in integration while allowing optional components to be excluded.
- Provides experimental HTTP/2 functionality in builds that enable the relevant features.
Website: github.com/civetweb/civetweb
Support:
Developer: CivetWeb developers
License: MIT License
CivetWeb is written in C. Learn C with our recommended free books and free tutorials.
Related Software
| Web Servers | |
|---|---|
| nginx | Very powerful and efficient web server powering the top web sites |
| Apache | Like nginx, Apache is a hugely popular web server |
| Caddy | Powerful, enterprise-ready web server written in Go |
| Lwan | Experimental, scalable, high performance HTTP server |
| H2O | Optimized HTTP/1.x, HTTP/2, HTTP/3 server |
| Tengine | Distribution of nginx |
| lighttpd | Fast, compliant and very flexible low memory footprint web server |
| Ferron | Web server optimized for speed, security and efficiency |
| Angie | Scalable web server that was forked from nginx |
| Algernon | Small self-contained pure-Go web server |
| Node.js | Server-side JavaScript environment for network applications |
| Hiawatha | Web server that focuses on security |
| OpenLiteSpeed | Lightweight HTTP server |
| rwasa | Full-featured high performance web server |
| devd | Local web server for developers |
| Cherokee | Fast, flexible and embeddable web server |
Read our verdict in the software roundup.
Explore our comprehensive directory of recommended free and open source software. Our carefully curated collection spans every major software category.This directory is part of our ongoing series of informative articles for Linux enthusiasts. It features hundreds of detailed reviews, along with open source alternatives to proprietary solutions from major corporations such as Google, Microsoft, Apple, Adobe, IBM, Cisco, Oracle, and Autodesk. You’ll also find interesting projects to try, hardware coverage, free programming books and tutorials, and much more. Discovered a useful open source Linux program that we haven’t covered yet? Let us know by completing this form. |


Please read our Comment Policy before commenting.