2.2. How Does Mongrel Work?
The basic function of a Web server is to listen for HTTP requests and send back responses. The requests are usually just a URL, some headers, and sometimes a body (like form parameters). If an image was requested, the Web server will usually pick that file off the file system and send it along. If the request is intended to reach a Web application, the Web server will usually pass the request to the application, the application will generate a response in the form of headers and HTML, and the Web server will relay that back to the requesting party. Most Web servers have grown into hulking beasts because they are used as catch-all applications that come with every imaginable option, module, and feature. Mongrel does not wish to replace these kinds of applications, it just wants to serve HTTP requests really well, especially the kind that need a Ruby application. Mongrel has been designed from the start to be Dead Simple: easy to use, easy to extend, and pretty secure.