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.
Explore our carefully curated directory of recommended free and open source software, covering every major software category.The directory forms part of our extensive collection of articles for Linux enthusiasts. It includes hundreds of detailed reviews, together with free and open source alternatives to proprietary software from companies such as Google, Microsoft, Apple, Adobe, IBM, Cisco, Oracle, and Autodesk. LinuxLinks also covers interesting projects worth exploring, Linux-compatible hardware, free programming books and tutorials, and much more. Know a useful free and open source Linux application that we haven’t covered? Tell us about it using our submission form. |


Please read our Comment Policy before commenting.