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
CivetWebSmall embeddable web server library written in C
AngieScalable web server that was forked from nginx
AlgernonSmall self-contained pure-Go web server
Node.jsServer-side JavaScript environment for network applications
YawsHigh-performance web server written in Erlang
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 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.
Subscribe

Please read our Comment Policy before commenting.

Notify of
guest
0 Comments
Oldest
Newest Most Voted