I assume that the goal of your embedded web server is to provide an administrative interface for configuration, operations, and status.
To disclose information, our company builds and deploys an administrative network of interfaces on many embedded systems with specifications similar to those that you describe based on our product, Web. You can learn more about our approach at http://uweb.workware.net.au/ , and you can read the paper I presented at the Embedded Linux Conference 2010 at http://workware.net.au/papers/embedded-scripting. pdf , which provides some details on how we balance size and performance with fast deployment through scripts.
You have two broad options. First, you should use an infrastructure such as μWeb, or a Barracuda Server (mentioned above) or an open source framework such as luci (http://luci.subsignal.org/trac). The second is to use a lightweight web server, such as the ones you mention above, and then create your own structure (presumably based on jQuery and JSON). The second option will take much more time. security is a concern as you access XSS, CRSF, and DOS attacks.
In any case, I highly recommend that you stay away from PHP, Python, or server-side Javascript. They are too resourceful for 300MHz ARM.
Why is XML and SOAP required if your admin user interface will be jQuery and JSON? Do you have a separate requirement for SOAP support? If so, then gSOAP is probably the smart choice (it has been a few years since the last time I used it).
As for https and 10+ concurrent sessions, please note that the initial SSL handshake is a significantly resource-intensive and built-in platform. If you frequently ask new requests (either because of new sessions, or because of requests not pipelined), the platform will struggle. You can probably establish 1-2 SSL connections / second.
source share