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 HTTP Server

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:
FacebookTwitterHacker NewsSlashdotRedditLinkedInPinterestFlipboardMeWeLineEmailShare

Support CNX Software! Donate via cryptocurrencies, become a Patron on Patreon, or purchase goods on Amazon or Aliexpress

ROCK Pi 4C Plus

3 Replies to “Web Servers for Embedded Systems”

  1. i have a development board which i want to configure through a webpage. can you provide me study material to do it.

  2. @sheraz
    I’m confused.. I can see based on your email that you work for an embedded systems company, your colleagues should be able to help you.

    The links above should also direct you though light weight web browser with documentation explaining how to use them.

Leave a Reply

Your email address will not be published. Required fields are marked *

Khadas VIM4 SBC
Khadas VIM4 SBC