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. • "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 ==