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" RAM and ROM footprint. The exact size depends on the system, but in many cases anything over several megabytes is not embeddable.
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 prioritytask.