openskills.info
Apache HTTP Server logoCourse Preview

Apache HTTP Server

The Apache HTTP Server is an open-source web server that has served a large share of the web since 1995. It handles HTTP requests using a modular architecture, supporting virtual hosts, URL rewriting, authentication, TLS, and reverse proxying through loadable modules.

itWeb servers, proxies, and traffic management

Apache HTTP Server

Apache HTTP Server, often called httpd, accepts HTTP requests and produces HTTP responses. It can serve files, run content handlers, terminate TLS, and forward traffic to application backends.

The useful mental model is a modular request-processing engine. The core server handles the connection and coordinates the request. Loaded modules add capabilities at defined stages. Configuration directives decide which modules act, where they act, and which content or backend produces the response.

This model explains Apache httpd's range. One installation can host static sites, expose application handlers, enforce access rules, or work as a reverse proxy. It also explains the main operational risk: configuration from several scopes and modules can combine in ways you did not intend.

Where Apache httpd fits

Apache httpd sits between clients and content. A browser or API client connects to a listening address and port. The server selects a virtual host, maps the requested URL, applies the relevant configuration, and invokes modules or handlers. It then returns a status code, headers, and an optional body.

Common roles include:

  • serving HTML, images, style sheets, and downloads from a document tree;
  • hosting several DNS names on one server with virtual hosts;
  • terminating TLS with mod_ssl;
  • forwarding requests to application servers with mod_proxy;
  • adding authentication, authorization, rewriting, compression, caching, and logging through modules;
  • exposing server activity through a restricted mod_status endpoint.

Apache httpd is not an application runtime by itself. Dynamic content requires a handler, a gateway such as CGI or FastCGI, an embedded third-party module, or a separate application reached through a proxy.

The core, modules, and one MPM

The core contains only basic server functions. Modules provide most extended behavior. Some modules are compiled into the server. Others are dynamic shared objects loaded at startup with LoadModule.

You can inspect the active build instead of guessing:

httpd -l    # statically compiled modules
httpd -M    # loaded modules, including dynamic modules

Continue the course

This section is part of the paid course.

See pricing to subscribe, or log in if you already have access.

Where this skill leads

Relevant careers

See how this topic contributes to broader role-level skill maps.

Sources

  • https://httpd.apache.org/docs/2.4/
  • https://httpd.apache.org/docs/2.4/getting-started.html
  • https://httpd.apache.org/docs/2.4/configuring.html
  • https://httpd.apache.org/docs/2.4/dso.html
  • https://httpd.apache.org/docs/2.4/mpm.html
  • https://httpd.apache.org/docs/2.4/sections.html
  • https://httpd.apache.org/docs/2.4/vhosts/
  • https://httpd.apache.org/docs/2.4/urlmapping.html
  • https://httpd.apache.org/docs/2.4/howto/htaccess.html
  • https://httpd.apache.org/docs/2.4/programs/apachectl.html
  • https://httpd.apache.org/docs/2.4/howto/reverse_proxy.html
  • https://httpd.apache.org/docs/2.4/ssl/ssl_howto.html
  • https://httpd.apache.org/docs/2.4/logs.html
  • https://httpd.apache.org/docs/2.4/mod/mod_status.html
  • https://httpd.apache.org/docs/2.4/misc/security_tips.html