Web Servers for Embedded Systems

Many network-enabled embedded devices do not have displays and configuration must be done via a webpage. This is the case for modems and routers and possibly for  IP cameras,  networked printers… With a web server, there is no need to develop specific drivers and/or applications for computers connected to the device. You just need to write HTML/Javascript pages and possibly CGI scripts.

I’ve already posted a blog post about mathopd for ARM no-mmu targets as this HTTP server is ideal for uCLinux since it does not fork.

Today, I’ll list some other HTTP servers that may also be used with embedded processors.

Tiny/Turbo/Throttling HTTP server

Tiny HTTP server logothttpd is a lightweight HTTP server implementing the HTTP/1.1 (minimum) and simple to configure and run. Its executable size is 88K. The description says it does not fork, but fork is called in the source code, so I do not know what that means…

It’s is very portable and it can compiles cleanly on most Unix-like operating systems. It’s about as fast as full-featured servers and much faster on very high loads (because reduces the server load for the same amount of work). See benchmark results (a bit outdated) for details.

License: BSD

Busybox HTTP Server

BusyboxYou can also enable httpd in BusyBox. It’s very tiny (only adds about 9 K to BusyBox 1.5). It still has quite a few features including CGI and HTTP authentication. It can also support php by adding /usr/bin/php5-cgi. You should probably try this server to see if it fits your needs before choosing one of the other HTTP servers.

License: GPLv2


Boa web server is designed to be simple, fast and secure. However, it has not been developed since 2005. It used to be popular in embedded systems (especially uClinux) since it does not need to fork.

License: GPL

Lighttpd Server

lighty logo lighttpd  (pronounced lighty) is a low footprint server good at managing high loads. It’s more powerful than the other solution above and is still actively developed. The latest version lighttpd 1.4.29 has been released on the 3rd of July 2011. A 2007 benchmark shows better performance than Apache and LiteSpeed. That’s probably why lighttpd also powers several popular Web 2.0 sites like YouTube, Wikipedia, and meebo.

With a small memory footprint compared to other web servers such as Apache, effective management of the CPU-load, and advanced feature set (FastCGI, SCGI, Auth, Output-Compression, URL-Rewriting and many more) lighttpd can be used in embedded servers (e.g. NAS, ARM web server) that require high performance.

License: revised BSD license.

Share this:

Support CNX Software! Donate via cryptocurrencies or become a Patron on Patreon

ROCK Pi 4C Plus
Notify of
The comment form collects your name, email and content to allow us keep track of the comments placed on the website. Please read and accept our website Terms and Privacy Policy to post a comment.
Weller PCB manufacturer