Apache HTTP Server 2.4의 새로운 기능은 무엇입니까?
Apache HTTP 서버 2.4.x의 새로운 기능 탐색
2012년 2월에 공개된 Apache 2.4.1 버전은 이전 버전들에 비해 눈에 띄게 개선된 기능들과 새로운 특징들을 선보였습니다. 제가 현재 사용하고 있는 최신 버전은 2014년 7월에 릴리스된 2.4.10입니다.
이 글에서는 Apache 2.4 버전에서 두드러지게 향상된 점과 새롭게 추가된 기능들을 자세히 살펴보겠습니다.
주요 개선 사항
KeepAliveTimeout 설정 변경: 이전에는 초 단위로만 설정 가능했던 KeepAliveTimeout이 이제 밀리초 단위까지 세밀하게 조정할 수 있게 되었습니다. `httpd.conf` 파일에 `KeepAliveTimeout` 지시문을 추가하여 설정할 수 있습니다.
예시:
KeepAliveTimeout 5
# 필요한 경우, 5라는 값을 원하는 다른 값으로 변경할 수 있습니다.
메모리 사용량 최적화: Apache 2.4는 이전 버전인 2.2.x에 비해 메모리 사용량이 더욱 줄어들었다고 합니다.
Event MPM의 완전한 지원: 이전 버전에서는 실험적 단계에 머물렀던 Event MPM(Multi-Processing Module)이 이제 완전히 지원됩니다.
mod_ssl 강화: OCSP 스테이플링을 지원하며 Memcached를 통해 여러 서버 간에 SSL 세션 데이터를 공유하는 기능이 추가되었습니다.
mod_proxy 성능 향상: ProxyPass 지시문의 Location 및 LocationMatch 블록에서 상당한 성능 개선이 이루어졌습니다.
새로운 모듈 소개
mod_heartmonitor, mod_lbmethod_heartbeat: 이 모듈들을 통해 mod_proxy_balancer는 백엔드 서버들의 활성 연결 상태를 확인하고 이를 기반으로 효율적인 부하 분산을 수행할 수 있습니다.
mod_auth_form: HTML 로그인 양식을 활용하여 웹 사이트 접근을 제한할 수 있는 기능이 추가되었습니다. 이는 mod_session 에 의존하며 HTTP 쿠키를 사용합니다.
mod_allowmethods: Apache 인스턴스 내에서 허용할 HTTP 메소드를 간단하게 설정하여 제어할 수 있게 되었습니다.
<Location /> AllowMethods GET HEAD </Location>
mod_ratelimit: 웹 서버의 대역폭을 제한하고자 할 때 유용한 모듈입니다. `httpd.conf` 파일 내에서 특정 위치에 대한 클라이언트 대역폭을 설정하여 제한할 수 있습니다.
예시:
<Location /downloads> SetOutputFilter RATE_LIMIT SetEnv rate-limit 400 </Location>
참고: 속도 제한 단위는 KiB/s 입니다.
mod_data: 이 모듈은 응답 본문을 RFC2397 데이터 URL 형식으로 변환해 줍니다. 데이터 URL은 페이지나 애플리케이션 로딩 시 연결 횟수를 줄이는 데 효과적이며, PHP 언어에서도 활용될 수 있습니다.
위에 언급된 변경 사항들은 Apache 2.4 버전에서 가장 중요한 개선 사항 및 추가 기능이라고 생각합니다. 더 자세한 내용은 공식 Apache 2.4 문서를 참조해 주시기 바랍니다.
이 글이 유익하셨기를 바랍니다. 다른 사람들과도 공유해 주시면 감사하겠습니다.