Reference articles on history, science, culture and more
Encyclopedia

Embedded HTTP server

Image credit is listed at the end of this article.

An embedded HTTP server is an HTTP server used in an embedded system.

The HTTP server is usually implemented as a software component of an application (embedded) system that controls and/or monitors a machine with mechanical and/or electrical parts.

The HTTP server implements the HTTP protocol in order to allow communications with one or more local or remote users using a browser. The aim is to let users to interact with information provided by the embedded system (user interface, data monitoring, data logging, data configuration, etc.) via network, without using traditional peripherals required for local user interfaces (display, keyboard, etc.).

In some cases the functionalities provided via HTTP server allow also program-to-program communications, e.g. to retrieve data logged about the monitored machine, etc.

01Usages

Examples of usage within an embedded application might be (e.g.):

02Advantages

There are a few advantages to using HTTP to perform the above:

  • HTTP is a well studied cross-platform protocol and there are mature implementations freely available;
  • HTTP is seldom blocked by firewalls and intranet routers;
  • HTTP clients (e.g. web browsers) are readily available with all modern computers;
  • there is a growing tendency of using embedded HTTP servers in applications that parallels the rising trends of home-networking and ubiquitous computing.

03Typical requirements

Natural limitations of the platforms where an embedded HTTP server runs contribute to the list of the non-functional requirements of the embedded, or more precise, embeddable HTTP server. Some of these requirements are the following ones.

For every specific project, requirements can vary significantly. For example, ROM and RAM footprints can be a very serious constraint and limit the choices of the system designer. C++ or JVM availability for the system can be another constraint. Frequently performance is an issue, because typical embedded systems run multiple simultaneous tasks and an HTTP server is only one of them and may be configured as a low priority task.

Watch videos about Embedded HTTP serverExplainers and documentaries on YouTube (opens in a new tab)

Sources and credits

This article is adapted from the Wikipedia article Embedded HTTP server, written by its contributors and licensed under CC BY-SA 4.0. Fathomly has changed the layout, removed citation markers, navigation and maintenance notices, and adjusted punctuation. This adapted version is shared under the same license. For references, see the original article.

Images, from Wikimedia Commons:

Fathomly is not affiliated with or endorsed by the Wikimedia Foundation. Spotted a problem? Tell us.