The Perl server we showed in Example 5-1 is a trivial example web server. State-of-the-art commercial web servers are much more complicated, but they do perform several common tasks, as shown in Figure 5-3:
1. Set up connectionaccept a client connection, or close if the client is unwanted.
2. Receive requestread an HTTP request message from the network.
3. Process requestinterpret the request message and take action.
4. Access resourceaccess the resource specified in the message.
5. Construct responsecreate the HTTP response message with the right headers.
6. Send responsesend the response back to the client.
7. Log transactionplace notes about the completed transaction in a log file.
The next seven sections highlight how web servers perform these basic tasks.