I would like to know what a threaded web server is?
I have performed many searches but am unable to find anything that gives a clear explanation or definition; perhaps somebody can enlighten me.
A threaded web server is one that handles each request with a new thread, as opposed to handling each request with a new process.
Multi-threading is more complex than concurrency with processes, so there's an increased risk of the web server crashing if one of its modules isn't working correctly. Also, if it does crash, it's more likely to crash all of the threads (ie. all of the requests being handled at the time). However, multi-threaded servers consume less memory and are generally faster.
Here's a benchmark comparing the two (mutually exclusive) apache modules: prefork and worker.
http://www.camelrichard.org/apache-prefork-vs-worker
and their definitions...
It's a web server that has a queue for incoming HTTP requests and a pool of threads for satisfying them. The server takes the first request off the queue and assigns a thread from the pool to do the work. Requests line up in the queue when they come in faster than the threads can process them or if the pool runs out of threads.