Go back to the previous page

Apache

Apache is a web server distributed for free. The software is a cross-platform product, i.e. it works on different operating systems (Linux, Windows, Solaris, etc.).

The main differences from competitors are reliability and flexibility. Apache works on the principle of modules. The client first installs the kernel, and then connects the necessary modules for his tasks.

Principle of operation

Apache handles client-server requests via HTTP protocol. The web server has 3 multiprocessing modules that are responsible for handling user request:

  1. Mpm_prefork creates a separate process for each client request. The fewer the processes, the faster the user’s tasks are processed. The amount of RAM is allocated on the server for each request. This module is usually used in a pair with other external components that are not able to work in multithreaded mode, for example, mod_php.
  2. Mpm_worker creates processes that work with several threads at once. One thread handles one user connection. The module processes user requests faster and less burdens server resources.
  3. Mpm_event is designed to work with persistent (keep-alive) connections. It separates threads into persistent and active ones, which allows to increase the speed of processing user requests.

There are modules that are optimized for the family of operating systems. For example, mpm_winnt module works with Windows, mpm_netware – with Netware.

Features

The developers have made Apache as accessible and easy to use as possible. The community regularly releases patches and updates.

Apache has a virtualization feature. Multiple virtual sites can exist on a single IP address. Each host can be customized for individual client requirements: setting file access rights, limiting the consumption of computing power of the physical server, etc.

For the web server, there are modules that add support for other languages (DBMS is written in C) to the Apache kernel, such as PHP, Ruby, Perl.

Apache has a number of built-in security features. These include user authorization system, IP-address access restriction, differentiation of access rights to directories and files on the server, etc. A function to start processes based on user or group IDs is available.

If necessary, the user can encrypt the data transferred between the server and the client using the SSL protocol. Additional security features are enabled through the mod_security module.

Apache web server is designed to run a website without unnecessary movements. Its intuitive interface, modular system, built-in security mechanisms and many other features make it one of the most popular web servers.

Rate this article
Our website uses cookies to improve your experience