- Embedded HTTP server
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 provideindexing ,reporting , anddebugging tools during the development stage.
* To implement a protocol for the distribution and acquisition of information to be displayed in the regular interface — possibly aweb service , and possibly usingXML as the data format.
* To develop aweb 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 browser s) 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 andubiquitous computing .Typical requirements
Natural limitations of the platforms where an embedded HTTP server runs contribute to the list of the functional requirements of the embedded, or more precise, embeddable HTTP server. Some of these requirements in random order
* "Small"RAM and ROM foot print. The exact number depends on the system, but in many cases anything over several megabytes is not embeddable.
* LowCPU consumption.
* Cross compilation support for multiple CPU and operating system combinations.
* Easy integration with existing application, including static link with the operating system and application.
* Serving pages from the RAM 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 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 system runs multiple simultaneous tasks and an HTTP server is only one of them and is usually a low priority task.See also
*
Comparison of web servers
*Comparison of lightweight web servers
Wikimedia Foundation. 2010.