Content deleted Content added
→See also: rm linkspam |
m Reverted edits by 109.75.55.192 (talk) (AV) |
||
(33 intermediate revisions by 20 users not shown) | |||
Line 1:
{{
[[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 via [[HTTP server]] and other protocols.]]
An '''embedded HTTP server''' is an [[HTTP server]] used in an [[embedded system]].
* To provide a [[thin client]] interface for a traditional application..▼
* To provide [[indexing]]{{dn|date=January 2012}}, [[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 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.<ref>{{cite journal |title=Edge Computing Using Embedded Webserver with Mobile Device for Diagnosis and Prediction of Metastasis in Histopathological Images |year=2021 |doi=10.1007/s44196-021-00040-x |last1=Johny |first1=Anil |last2=Madhusoodanan |first2=K. N. |journal=International Journal of Computational Intelligence Systems |volume=14 |s2cid=244923748 |doi-access=free }}</ref>
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.▼
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 [[Web browser|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 device|display]], [[Computer keyboard|keyboard]], etc.).<ref>{{cite web |title=Administering Security for Oracle HTTP server |url=https://docs.oracle.com/en/middleware/fusion-middleware/web-tier/12.2.1.4/secure-ohs/administering-security-oracle-http-server.pdf}}</ref>
* 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.▼
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.
* 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]].▼
== Usages ==
Examples of usage within an embedded application might be (e.g.):{{citation needed|date=December 2021}}
▲*
▲*
== 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
▲*
== 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" [[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 26 ⟶ 36:
== See also ==
* [[Comparison of web
* [[Comparison of
* [[Server (computing)]]
* [[HTTP server]]
* [[Web server]]
==References==
[[Category:Web server software| ]]▼
{{Reflist}}
== External links ==
* [https://www.gnu.org/software/libmicrohttpd/ libmicrohttpd] contains an extensive list of embedded HTTP server libraries towards the bottom of the page
* [https://www.keil.com/pack/doc/mw/Network/html/group__net_h_t_t_p___func.html Example: functionalities of an embedded HTTP server component]
▲[[Category:Web server software| ]]
[[Category:Embedded systems]]
|