Web Design

CivetWeb – embeddable C and C++ web server

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
nginxVery powerful and efficient web server powering the top web sites
ApacheLike nginx, Apache is a hugely popular web server
CaddyPowerful, enterprise-ready web server written in Go
LwanExperimental, scalable, high performance HTTP server
H2OOptimized HTTP/1.x, HTTP/2, HTTP/3 server
TengineDistribution of nginx
lighttpdFast, compliant and very flexible low memory footprint web server
FerronWeb server optimized for speed, security and efficiency
AngieScalable web server that was forked from nginx
AlgernonSmall self-contained pure-Go web server
Node.jsServer-side JavaScript environment for network applications
HiawathaWeb server that focuses on security
OpenLiteSpeedLightweight HTTP server
rwasaFull-featured high performance web server
devdLocal web server for developers
CherokeeFast, flexible and embeddable web server

Read our verdict in the software roundup.


Best Free and Open Source Software 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.
Subscribe

Please read our Comment Policy before commenting.

Notify of
guest
0 Comments
Oldest
Newest Most Voted