Wikipedia

Embedded HTTP server

Also found in: Encyclopedia.

An embedded HTTP server is a component of a software system that implements the HTTP protocol. Examples of usage within an application might be:

  • To provide a thin client interface for a traditional application.
  • To provide indexing, reporting, and debugging tools during the development stage.
  • To implement a protocol for the distribution and acquisition of information to be displayed in the regular interface — possibly a web service, and possibly using XML as the data format.
  • To develop a web application

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.

Typical 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:

  • "Small" RAM and ROM footprint. The exact size depends on the system, but in many cases anything over several megabytes is not embeddable.
  • Minimal CPU utilization.
  • Cross compilation support for multiple CPU and operating system combinations.
  • Easy integration with an existing application, including static linking with the operating system and application.
  • Serving pages from application memory if there is no file system.
  • Modularity.
  • Single thread and multi-thread support.

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.

See also

External links

  • libmicrohttpd contains an extensive list of embedded HTTP server libraries towards the bottom of the page


This article is copied from an article on Wikipedia® - the free encyclopedia created and edited by its online user community. The text was not checked or edited by anyone on our staff. Although the vast majority of Wikipedia® encyclopedia articles provide accurate and timely information, please do not assume the accuracy of any particular article. This article is distributed under the terms of GNU Free Documentation License.

Copyright © 2003-2025 Farlex, Inc Disclaimer
All content on this website, including dictionary, thesaurus, literature, geography, and other reference data is for informational purposes only. This information should not be considered complete, up to date, and is not intended to be used in place of a visit, consultation, or advice of a legal, medical, or any other professional.