Unisquads
로그인
홈
이용약관·개인정보처리방침·콘텐츠정책·© 2026 Unisquads
이용약관·개인정보처리방침·콘텐츠정책
© 2026 Unisquads. All rights reserved.

Apache HTTP Server (r1)

이 문서의 과거 버전 (r1)을 보고 있습니다. 수정일: 2026.02.22 10:22

Apache HTTP Server

개발

아파치 소프트웨어 재단

최초 출시일

1995년

최신 안정 버전

2.4.66

(2025년 12월 4일)

프로그래밍 언어

C

운영 체제

유닉스 계열

윈도우

종류

웹 서버

라이선스

아파치 라이선스 2.0

상세 정보

기원

NCSA HTTPd를 기반으로 개발

주요 특징

모듈 기반의 높은 확장성

주요 연동 기술

PHP

MySQL

Tomcat (JSP)

대표적인 패키지

XAMPP

주요 경쟁 제품

NGINX

공식 홈페이지

https://httpd.apache.org/

1. 개요

아파치 HTTP 서버는 아파치 소프트웨어 재단이 개발하고 관리하는 오픈 소스 웹 서버 소프트웨어이다. 1995년에 최초로 출시되었으며, C 언어로 작성되어 유닉스 계열 운영 체제와 윈도우에서 모두 동작한다. 이 소프트웨어는 자유로운 사용과 배포를 허용하는 아파치 라이선스 2.0을 따른다.

아파치 HTTP 서버는 초기 웹의 대표적인 서버 소프트웨어였던 NCSA HTTPd를 기반으로 개발되었다. 리눅스 운영 체제의 급속한 보급과 함께 널리 퍼졌으며, 오랜 기간 동안 전 세계 웹 서버 시장에서 가장 높은 점유율을 차지해 왔다. 모듈식 설계를 통해 다양한 기능을 유연하게 확장할 수 있는 것이 주요 특징이다.

이 서버는 PHP, Perl과 같은 서버 사이드 스크립트 언어와의 연동이 용이하여, MySQL과 함께 APM이라는 조합으로 웹 애플리케이션 구축의 사실상의 표준 환경을 이루었다. 또한 톰캣과의 연동을 통해 자바 서버 페이지 기반 애플리케이션을 서비스하는 데에도 널리 사용된다.

아파치 HTTP 서버는 강력한 기능과 높은 호환성, 방대한 문서와 커뮤니티 지원을 바탕으로 여전히 중요한 웹 서버 소프트웨어로 자리 잡고 있다. 최신 안정 버전은 2025년 12월 4일에 공개된 2.4.66 버전이다.

2. 역사

Apache HTTP Server의 역사는 1990년대 중반으로 거슬러 올라간다. 이 웹 서버는 당시 가장 널리 사용되던 NCSA HTTPd의 소스 코드를 기반으로 개발되었다. NCSA HTTPd 개발이 중단된 후, 여러 사용자들이 수정한 패치(patch)들을 모아 새로운 서버를 만들었는데, 이 '패치(patch)가 많은(a patchy)' 서버라는 의미에서 '아파치(Apache)'라는 이름이 유래되었다. 초기 개발은 1995년에 시작되어 같은 해 최초 버전이 공개되었으며, 이는 오픈 소스 웹 서버의 중요한 이정표가 되었다.

1999년에는 아파치 HTTP 서버를 중심으로 한 개발자 커뮤니티가 공식적으로 아파치 소프트웨어 재단(ASF)을 설립하였다. 이 재단은 이후 수많은 오픈 소스 프로젝트의 인큐베이터 역할을 하게 된다. 아파치 서버는 리눅스 운영 체제의 급속한 보급과 함께 LAMP (Linux, Apache, MySQL, PHP/Perl/Python) 스택의 핵심 구성 요소로 자리잡으며 2000년대 대부분의 기간 동안 시장 점유율 1위를 차지했다.

주요 버전의 변천은 다음과 같다.

주요 버전

공개 연도

주요 특징

Apache 1.3

1998년

클래식 버전으로 장기간 지원됨.

Apache 2.0

2002년

다중 처리 모듈(MPM) 도입, 윈도우 지원 강화.

Apache 2.2

2005년

필터, 프록시 모듈 개선.

Apache 2.4

2012년

성능 개선(Event MPM), 동시 접속 처리 능력 향상.

2010년대 후반부터는 NGINX와 LiteSpeed와 같은 가볍고 빠른 경쟁자들의 도전에 직면했으나, 모듈 구조의 유연성과 광범위한 호환성, 지속적인 성능 개선을 통해 여전히 가장 널리 사용되는 웹 서버 소프트웨어 중 하나로 자리매김하고 있다.

3. 특징

3.1. 모듈 구조

아파치 HTTP 서버의 가장 큰 특징은 모듈 기반의 확장 가능한 구조이다. 핵심 서버 엔진은 기본적인 웹 서버 기능만을 담당하며, 다양한 추가 기능은 동적으로 로드하거나 정적으로 컴파일할 수 있는 모듈 형태로 제공된다. 이러한 설계 덕분에 사용자는 필요에 따라 인증, URL 재작성, 프록시, SSL/TLS 암호화, 특정 프로그래밍 언어(PHP, Perl) 처리 등 수많은 기능을 유연하게 추가하거나 제거할 수 있다.

주요 모듈의 종류와 역할은 다음과 같다.

모듈 종류

주요 역할

대표 예시

핵심 모듈

서버 기본 기능 및 핵심 지시어 제공

mod_so, mod_log_config

다중 처리 모듈

클라이언트 연결 처리 방식 결정

MPM (prefork, worker, event)

확장 모듈

특정 기능 추가

mod_ssl, mod_rewrite, mod_proxy

언어 처리 모듈

서버 측 스크립트 언어 처리

mod_php, mod_perl

이러한 모듈 구조는 아파치 소프트웨어 재단과 제3자 개발자들에 의해 지속적으로 확장되어 왔다. 사용자는 서버의 설정 파일(httpd.conf)에서 LoadModule 지시어를 사용해 필요한 모듈을 로드하고, 각 모듈이 제공하는 고유의 설정 지시어를 통해 세부적인 동작을 제어한다. 이는 서버를 최소한의 경량 상태로 유지하면서도 복잡한 기능을 구현할 수 있게 해주는 강력한 장점이다.

3.2. MPM (Multi-Processing Module)

MPM(Multi-Processing Module)은 아파치 HTTP 서버가 클라이언트 요청을 처리하는 방식을 결정하는 핵심 메커니즘이다. 운영 체제와 워크로드 특성에 맞는 최적의 연결 처리 모델을 선택할 수 있도록 설계된 것이 특징이다. 이 모듈식 구조 덕분에 유닉스 계열 시스템과 윈도우 서버 등 다양한 플랫폼에서 효율적으로 동작할 수 있다.

주요 MPM으로는 prefork, worker, event 모듈이 있다. prefork MPM은 각 요청을 처리하기 위해 별도의 자식 프로세스를 생성하는 전통적인 방식으로, 스레드를 사용하지 않아 안정성이 높지만 메모리 사용량이 많은 편이다. worker MPM은 다중 프로세스와 스레드를 혼합하여 사용하여 동시 접속 처리 능력과 메모리 효율을 개선했다. event MPM은 아파치 HTTP 서버 2.4 버전에서 본격적으로 안정화된 모델로, Keep-Alive 연결 상태의 대기 중인 클라이언트를 별도의 스레드로 관리하여 고부하 상황에서도 높은 성능을 발휘하는 것이 장점이다.

사용자는 httpd.conf와 같은 설정 파일에서 LoadModule 지시어를 통해 원하는 MPM을 로드하고, StartServers, MinSpareThreads, MaxRequestWorkers 등의 지시어를 조정하여 세부 동작을 제어할 수 있다. 이처럼 MPM을 통해 서버의 확장성과 성능을 세밀하게 튜닝할 수 있는 점이 아파치의 주요 강점 중 하나로 꼽힌다.

4. 주요 버전

아파치 HTTP 서버는 1995년 최초 출시 이후 지속적인 개발을 통해 여러 주요 버전을 거쳐왔다. 초기 버전은 NCSA HTTPd 코드를 기반으로 한 패치 집합에서 시작하여, 1998년 6월에 공개된 Apache 1.3 버전은 오랫동안 안정적인 버전으로 널리 사용되었다.

주요 버전의 큰 전환점은 2002년 4월에 공개된 Apache 2.0 시리즈였다. 이 버전은 멀티스레딩 지원, 향상된 유닉스 계열 및 윈도우 운영 체제에서의 성능, 새로운 API 등 근본적인 구조 개선을 포함했다. 이후 2005년 12월에 나온 2.2 버전은 더욱 안정성을 높이고 프록시 모듈과 캐싱 기능을 개선하여 장기 지원 버전으로 자리 잡았다.

현재의 주요 안정 버전은 2012년 2월에 출시된 Apache 2.4 시리즈이다. 이 버전은 성능, 보안, 유연성에서 큰 도약을 이루었으며, NGINX와 같은 경쟁 서버에 대응하기 위해 Event MPM을 기본 제공하여 동시 연결 처리 능력을 크게 향상시켰다. 최신 안정 버전은 2025년 12월 4일에 공개된 2.4.66이다. 각 주요 버전은 하위 호환성을 유지하면서 새로운 기능과 최적화를 제공하며, 아파치 소프트웨어 재단에 의해 장기간에 걸쳐 유지보수되고 있다.

5. 설치 및 구성

Apache HTTP Server는 다양한 운영 체제에 설치할 수 있으며, 주로 패키지 관리자나 소스 코드 컴파일을 통해 설치한다. 대부분의 리눅스 배포판은 공식 저장소에서 apache2 또는 httpd 패키지로 제공한다. 윈도우 환경에서는 공식 바이너리 설치 프로그램을 사용하거나, XAMPP와 같은 통합 패키지를 통해 PHP, MySQL과 함께 편리하게 설치할 수 있다. 설치 후 기본적으로 서비스가 자동으로 시작되며, 웹 브라우저에서 localhost에 접속하여 동작을 확인할 수 있다.

서버의 모든 동작은 구성 파일을 통해 제어된다. 주요 구성 파일은 httpd.conf이며, 여기에 가상 호스트, 포트, 모듈 로드, 디렉토리 설정 등 핵심 사항을 정의한다. 유닉스 계열 시스템에서는 추가로 sites-available/ 디렉토리에 개별 사이트 설정을 작성하고, sites-enabled/ 디렉토리에 심볼릭 링크를 생성하여 사이트를 활성화하는 방식을 주로 사용한다. 구성 파일은 모듈 구조를 반영하여, 필요한 기능에 따라 mod_rewrite, mod_ssl 등의 모듈을 로드하고 각각의 지시어를 설정한다.

기본적인 구성 항목으로는 DocumentRoot(웹 문서 루트 디렉토리), Directory 지시어를 통한 디렉토리별 접근 권한 설정, VirtualHost 블록을 이용한 다중 도메인 호스팅 등이 있다. 특히 보안 강화를 위해 불필요한 디렉토리 목록 출력을 비활성화하고, 최신 TLS 프로토콜을 사용하도록 SSL 설정을 조정하는 것이 중요하다. 로그 파일은 access_log와 error_log에 기록되어 운영 및 디버깅에 활용된다.

설정 변경 후에는 서비스를 재시작하거나 설정만 재로드하여 적용한다. 성능 튜닝을 위해서는 MPM (Multi-Processing Module)의 종류와 매개변수(예: MaxRequestWorkers)를 하드웨어 사양과 트래픽 패턴에 맞게 조정한다. 또한, 정적 파일 제공 속도 향상을 위해 mod_cache 모듈을 활용하거나, CDN과 연동하는 구성도 고려할 수 있다.

6. 성능과 한계

아파치 HTTP 서버는 오랜 기간 동안 웹 서버 시장을 선도해왔지만, 성능과 확장성 측면에서 특정 한계점을 지니고 있다. 특히 동시 접속자가 매우 많거나 정적 콘텐츠를 대량으로 처리해야 하는 고부하 환경에서 이러한 한계가 두드러진다. 전통적인 프로세스 기반 또는 스레드 기반 MPM (Multi-Processing Module)을 사용하는 방식은 각 연결마다 별도의 프로세스나 스레드를 생성 및 관리해야 하므로, 메모리 사용량이 높고 컨텍스트 스위칭 오버헤드가 발생할 수 있다. 이는 수만 개의 동시 연결을 효율적으로 처리해야 하는 현대의 웹 환경에서 성능 병목 현상으로 작용할 수 있다.

이러한 성능 문제에 대응하기 위해 아파치는 2.4 버전부터 Event MPM을 공식적으로 도입했다. Event MPM은 비동기 이벤트 기반 처리 방식을 채택하여, 특히 Keep-Alive 연결이 많은 상황에서 메모리와 CPU 사용 효율을 크게 개선했다. 그러나 이러한 개선에도 불구하고, 처음부터 비동기 논블로킹 아키텍처를 기반으로 설계된 NGINX나 LiteSpeed와 같은 경쟁 제품들에 비해 정적 파일 처리 속도나 동시 연결 처리 효율성에서 여전히 뒤쳐진다는 평가를 받는다.

아파치의 주요 강점인 풍부한 기능과 모듈 또한 양날의 검 역할을 한다. 수많은 내장 모듈과 강력한 .htaccess 파일을 통한 디렉토리 단위 설정 기능은 유연성을 제공하지만, 이는 각 요청에 대한 추가적인 파일 시스템 검사와 설정 해석을 필요로 하여 성능 저하를 초래할 수 있다. 또한, 동적 모듈 로딩 시스템은 기능 확장을 용이하게 하지만, 필요하지 않은 모듈이 메모리를 차지하거나 복잡한 상호 의존성을 만들 수 있다.

결론적으로, 아파치 HTTP 서버는 안정성, 호환성, 모듈 생태계의 풍부함에서 강점을 보이는 반면, 극한의 성능과 효율성을 요구하는 환경에서는 아키텍처적 한계를 드러낸다. 이 때문에 많은 고성능 사이트들은 아파치를 리버스 프록시나 애플리케이션 서버로 활용하고, 정적 콘텐츠 처리나 초기 연결 관리는 NGINX에 맡기는 하이브리드 구성으로 전환하고 있다.

7. 점유율과 경쟁

아파치 HTTP 서버는 오랜 기간 웹 서버 시장을 선도해왔으나, 2020년대에 들어서면서 점유율 측면에서 큰 변화를 겪었다. 2026년 기준 실질적으로 작동하는 웹사이트를 기준으로 한 웹 서버 소프트웨어 점유율은 NGINX가 약 33.0%로 1위를 차지했으며, 아파치는 약 24.3%로 2위를 기록하고 있다. 이는 아파치가 1위 자리를 내어준 것을 의미한다. 특히 LiteSpeed가 약 14.9%의 점유율로 빠르게 성장하며 아파치를 추격하고 있는 상황이다.

주요 경쟁사인 NGINX는 비동기 이벤트 기반의 아키텍처로 높은 동시 접속 처리 성능과 낮은 메모리 사용량을 강점으로 내세웠다. 이에 대응하여 아파치는 2.4 버전부터 Event MPM을 도입하는 등 성능을 개선했으나, 시장 추세를 완전히 뒤집기에는 역부족이었다. 또한, 현대 웹의 핵심 프로토콜인 HTTP/3에 대한 공식 지원이 아파치 프로젝트에서 여전히 불확실한 상태라는 점도 한계로 지적된다.

점유율 하락의 또 다른 요인은 클라우드와 CDN의 보편화다. Cloudflare와 같은 글로벌 CDN 업체가 제공하는 프록시 서버 점유율은 높지만, 이는 최종 오리진 서버의 소프트웨어를 대체하지는 않는다. 그러나 이러한 서비스들이 내장된 웹 서버 기능이나 최적화된 엣지 서버를 제공함에 따라, 전통적인 웹 서버 소프트웨어의 역할과 중요성이 재편되는 양상이다.

순위

웹 서버 소프트웨어

점유율 (약)

비고

1

NGINX

33.0%

2

Apache HTTP Server

24.3%

3

LiteSpeed

14.9%

아파치 설정 호환

-

Cloudflare

26.2%

CDN 제공업체[1]

결론적으로, 아파치는 여전히 강력한 기능과 광범위한 모듈 생태계, 높은 호환성을 바탕으로 안정적인 입지를 유지하고 있다. 그러나 더 가볍고 빠르며 현대 웹 요구사항에 빠르게 대응하는 NGINX와 LiteSpeed의 도전 속에서, 과거의 절대적 우위는 더 이상 유지되지 않고 있다.

8. 관련 문서

  • Apache Software Foundation - Apache HTTP Server

  • 위키백과 - 아파치 HTTP 서버

  • Mozilla Developer Network - HTTP 서버

  • Nginx 공식 사이트

  • LiteSpeed Technologies 공식 사이트

  • Microsoft - IIS 개요

  • Cloudflare 학습 센터 - 웹 서버란?

  • Apache Software Foundation - Apache License, Version 2.0

  • W3Techs - 웹 서버 시장 점유율

  • Tomcat 공식 사이트

리비전 정보

버전r1
수정일2026.02.22 10:22
편집자unisquads
편집 요약AI 자동 생성