What Real Web Servers Do
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 Screenshot 5-3:
(Screenshot 5-3.)
1. Set up connection-accept a client connection, or close if the client is unwanted.
2. Receive request-read an HTTP request message from the network.
3. Process request-interpret the request message and take action.
4. Access resource-access the resource specified in the message.
5. Construct response-create the HTTP response message with the right headers.
6. Send response-send the response back to the client.
7. Log transaction-place notes about the completed transaction in a log file.
The next seven sections highlight how web servers perform these basic tasks.