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:

Steps of a basic web server request
Steps of a basic web server request
(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.

 


Hypertext Transfer Protocol (HTTP)