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 |
| CivetWeb | Small embeddable web server library written in C |
| 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 |
| Yaws | High-performance web server written in Erlang |
| 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.
LinuxLinks helps you discover the best free and open source software for Linux. Explore our extensive collection of recommended applications, including alternatives to popular proprietary software.We also publish software reviews, Linux tutorials, hardware reviews, free programming books and articles covering the wider open source community. Browse our Linux resources to discover more. Know a useful free and open source Linux application we haven't covered? Suggest a program for inclusion. Has your software been featured on LinuxLinks? Display one of our Featured on LinuxLinks badges on your website or GitHub README. |


Please read our Comment Policy before commenting.