Embedded HTTP server
This article needs additional citations for verification. (August 2022) |
An embedded HTTP server is an
The HTTP server is usually implemented as a
The HTTP server implements the
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.
Usages
Examples of usage within an embedded application might be (e.g.):[citation needed]
- 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.
Advantages
There are a few advantages to using HTTP to perform the above:[citation needed]
- 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 are the following ones.[citation needed]
- "Small" RAM and ROM footprint. The exact size depends on the system, but in many cases anything over several megabytes is not embeddable.
- Minimal CPUutilization.
- CPU and operating systemcombinations.
- Easy integration with an existing application, including static linkingwith the operating system and application.
- Serving pages from application memory if there is no file system.
- Modularity.
- Single multi-threadsupport.
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.
See also
- Comparison of web server software
- Comparison of application servers
- Server (computing)
- HTTP server
- Web server
References
- S2CID 244923748.
- ^ "Administering Security for Oracle HTTP server" (PDF).
External links
- libmicrohttpd contains an extensive list of embedded HTTP server libraries towards the bottom of the page
- Example: functionalities of an embedded HTTP server component
- Embedded Web Server vs. Embedded Application Server