Request-Handling Process Overview
When Web Server first starts up, it performs some initialization tasks and then waits for an HTTP request from a client (such as a browser). When the server receives a request, it first selects a virtual server. The obj.conf file of the selected virtual server determines how the server handles a request.
The obj.conf file contains a series of instructions known as directives that tell the server what to do at each stage in the request-handling process. These directives are grouped inside Object tags. Each directive invokes a function with one or more arguments.
Each directive applies to a specific stage in the request-handling process. For example, a directive that applies during the authorization stage in the request-handling process is an AuthTrans directive.
Stages in the Request-Handling Process
| Stages | Description |
|---|---|
| AuthTrans (authorization translation) | Verify the authorization information (such as name and password) sent in the request. |
| NameTrans (name translation) | Translate the logical URI into a local file system path. |
| PathCheck (path checking) | Check the local file system path for validity and check if the requestor has access privileges to the requested resource on the file system. |
| ObjectType (object typing) | Determine the Multipurpose Internet Mail Encoding (MIME) type of the requested resource (for example, text/html, image/gif, and so on), and establish other resource-specific settings. |
| Input (prepare to read input) | Select filters that will process incoming request data read by the Service step. |
| Output (prepare to send output) | Select filters that will process outgoing response data generated by the Service step. |
| Route (request routing) | Select the server to service the request. |
| Service (generate the response) | Generate and return the response to the client. |
| AddLog (adding log entries) | Add entries to log files. |
| Error (error handling) | Send an error message to the client and exit processing. This step is executed only if an error occurs in the previous steps. |