Web-servers, Description of the work of web-server...

Web servers

Web server (or HTTP server) is a server program running in the background, waiting for user requests and processing them. The Web server accepts HTTP requests from clients (usually web browsers) and returns HTTP responses to them [usually along with web pages (HTML documents)]. Web servers form the backbone of a web-based network. The most commonly used data for Netcraft in January 2013 are web-based. 2.1.

Table 2.1

List of the most known web-servers

Manufacturer

System

Number of supported web sites

Percent

Apache

Apache

348 119 032

52.26%

Microsoft

Internet Information Services (IIS)

106 619 177

16.93%

Nginx, Inc

engine x (nginx)

79,640,472

12.64%

Google

Google Web Server (GWS)

22,573,858

3.58%

Description of the operation of the web server

Web servers and browsers exchange HTTP messages among themselves. Servers receive and process HTTP requests, determine the location of the requested resources and access them, generate responses that they send back to the browsers that made these requests. In Fig. 2.1 shows how the web server processes incoming requests, generates responses to them, and passes them to the requesting browser.

The Network Support Module is responsible for receiving requests and sending generated replies over the network. When the next HTTP request is received, the server first transmits it to the request permission module , which is responsible for analyzing and preprocessing the incoming request.

The request processing module includes:

1. Shared hosting : if the web server provides access to several websites with different domain names, then for the incoming request you need to define the target web site and use it to select configuration parameters.

Processing HTTP requests by the server

Fig. 2.1. Processing HTTP requests by the server

2. Address Resolution : Determining the type of requested content - static or dynamic; based on the specified URL path and the selected server configuration parameters, the URL (ie, its conversion) is resolved to the real address in the server's file system.

3. Authentication : if the requested resource is secure, you need to check the authorization information (name and password) to determine whether the user has the right to use this resource.

After the preprocessing is complete, the request is passed to the request processing module , which calls the submodules to perform the appropriate handling of static and dynamic content. If the query accesses dynamic content, the server passes the data to some environment: the servlet container or the application server that is running in other processes. This environment manages the execution of web-applications:

• organizes the interaction of the web server with the application (sends the message data and server parameters to the application and returns the generated code to the server);

• runs the required application for execution;

• Solves additional tasks (management of the session state, support of the message queue, cache management, etc.).

When the selected submodule or application server finishes processing the request, it will pass the results of the HTTP response to the response module, which generates the response headers, combines them with the received processing result, and passes it to the network support module for transmission generated response to the client who sent the request. It should be noted that due to the fact that HTTP does not support the session state, the only information that is available to the server about the incoming request is contained in the request itself (headers and body).

The session state in the form of session-related information can be supported by web-applications or the environments in which they are executed (for example, servlet containers), but the link to this information should be contained in the request itself (for example, using a cookie or specific URL).

In addition, web servers can perform various additional functions, for example:

• keeping a log of user access to resources;

• Authentication and authorization of users;

• Support for HTTPS for secure connections to clients. Web servers can provide both static and dynamic content. Static content refers to files, such as HTML pages, XML documents, plain text, images, audio and video files that are transmitted without changing the body of the HTTP responses of the server. To dynamically form content, the server must run some program that creates the data that will be placed in the body of the HTTP response.

Web servers use a combination of extensions of requested files, URL prefixes and configuration files to determine which processing method should be used to generate a response. By default, it is assumed that the URL should be treated as a request to a static web page.

When installing, the server is allocated a directory (folder) with which it can work. For example, for an Internet Information Services (IIS) server (Inernet Information Services), a default folder is created with the name inetpub, which stores the resources provided by the WebSphere. In addition to the physical folders located in this location, the server can use so-called virtual folders. Virtual folders are described in the configuration files of the web server, and can be located in different places of the external memory of the computer on which the server is installed, or on the local network of the server (with the permission to access these folders).

Also We Can Offer!

Other services that we offer

If you don’t see the necessary subject, paper type, or topic in our list of available services and examples, don’t worry! We have a number of other academic disciplines to suit the needs of anyone who visits this website looking for help.

How to ...

We made your life easier with putting together a big number of articles and guidelines on how to plan and write different types of assignments (Essay, Research Paper, Dissertation etc)