Embedded HTTP server: Difference between revisions

Content deleted Content added
External links: Added a link to an example of an embedded HTTP component
Summary: added an image of an embedded HTTP server + improved readability
Line 1:
{{Unreferenced|date=June 2008}}
[[File:2453 IP video server.jpg|thumb|148x200px|right|Front and back views of a small IP video server (Sensoray 2453S) with audio and composite video inputs served also via [[HTTP server]] and other protocols.]]
 
An '''embedded [[HTTP server]]''' is a component of a software system that implements thean [[HypertextHTTP Transfer Protocol|HTTPserver]] used in an [[Communicationsembedded protocol|protocolsystem]].{{citation Examples of usage within an application mightneeded|date=December be:2021}}
 
The HTTP server is usually implemented as a [[software component]] of an [[Application software|application]] (embedded) system that controls and/or monitors a machine with mechanical and/or electrical parts.{{citation needed|date=December 2021}}
* To provide a [[thin client]] interface for a traditional application.
* To provide [[Database index|index]]ing, [[report]]ing, 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 [[Serialization|data format]].
* To develop a [[web application]]
 
The HTTP server implements the [[Hypertext Transfer Protocol|HTTP]] [[Communications protocol|protocol]] in order to allow communications with one or more local or remote [[User (computing)|users]] using a [[browser]]. The aim is to let users to interact with information provided by the embedded system ([[Web user interface|user interface]], data monitoring, [[Data logger|data logging]], data configuration, etc.) via [[Computer network|network]], without using traditional peripherals required for local user interfaces ([[display]], [[Computer keyboard|keyboard]], etc.).{{citation needed|date=December 2021}}
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 [[Firewall (computing)|firewall]]s and [[intranet]] [[Router (computing)|router]]s.
* 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 network|home-networking]] and [[ubiquitous computing]].
 
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.
== 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:
== Usages ==
Examples of usage within an embedded application might be (e.g.):{{citation needed|date=December 2021}}
* Toto provide a [[thin client]] interface for a traditional application.;
* Toto provide [[Database index|index]]ing, [[report]]ing, and [[debugging]] tools during the development stage.;
* Toto 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 [[Serialization|data format]].;
* Toto develop a [[web application]].
 
== Advantages ==
There are a few advantages to using HTTP to perform the above:{{citation needed|date=December 2021}}
* HTTP is a well studied cross-platform protocol and there are mature implementations freely available.;
* HTTP is seldom blocked by [[Firewall (computing)|firewall]]s and [[intranet]] [[Router (computing)|router]]s.;
* HTTP clients (e.g. [[web browser]]s) are readily available with all modern computers.;
* Therethere is a growing tendency of using embedded HTTP servers in applications that parallels the rising trends of [[Home network|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: are the following ones.{{citation needed|date=December 2021}}
* "Small" [[Random-access memory|RAM]] and [[Read-only memory|ROM]] footprint. The exact size depends on the system, but in many cases anything over several megabytes is not embeddable.
* Minimal [[CPU]] utilization.
Line 28 ⟶ 38:
* [[Comparison of web server software]]
* [[Comparison of application servers]]
 
==References==
{{Reflist}}
 
== External links ==