Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

I\'m looking for an existing library to develop C++ web services where: Data is

ID: 658689 • Letter: I

Question

I'm looking for an existing library to develop C++ web services where:

Data is not copied from one process to another (this rules out some FastCGI options). I'm opposed to this because copying data between processes is an avoidable performance hit I'd rather avoid.
The web server itself has received a lot of security scrutiny and is known for being secure.
The web server handles thousands of concurrent connections simultaneously.
The web server is competitive with nginx and netty.

I'm looking for a recommendation of an existing framework, library, or application I can plug my web services into.

This Lighttpd page[1] has an interesting approach to FastCGI where responses can be served from memory shared between the web server and the FastCGI process.

I'm wondering if I should just develop my services as nginx modules for security and speed.

Explanation / Answer

I guess you want some C++11 compatible HTTP server library (for Linux I suppose), not only for some earlier C++ standard.

(If you don't want a library but want something communicating with another HTTP server process, I don't understand how you could avoid FASTCGI - or some other protocol like SCGI -; I don't believe that shared memory would be a reasonable IPC between your process and the web server since synchronization is a major issue in that case; however tmpfs file systems are quick!)

You could try libonion, but its C++ support is poor in march 2015 (to the point to be barely usable in practice, see its issue#105)

You could try cpp-netlib, but its C++11 web server side is IMHO not enough documented, see my question on StackOverflow

You could try POCO; I don't know it enough if it suits your needs.

There is also Wt

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote