<!DOCTYPE html SYSTEM "about:legacy-compat">
<html lang="ko"><head><META http-equiv="Content-Type" content="text/html; charset=EUC-KR">
<meta content="width=device-width, initial-scale=1" name="viewport">
<!--
        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
              This file is generated from xml source: DO NOT EDIT
        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
      -->
<title>아파치 2.2의 새로운 기능 개요 - Apache HTTP Server Version 2.4</title>
<link href="./style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet">
<link href="./style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size">
<link href="./style/css/manual-print.css" rel="stylesheet" media="print" type="text/css"><link rel="stylesheet" type="text/css" href="./style/css/prettify.css">
<script src="./style/scripts/prettify.min.js">
</script>

<link href="./images/favicon.png" rel="shortcut icon"></head>
<body id="manual-page"><div id="page-header">
<p class="menu"><a href="./mod/">모듈</a> | <a href="./mod/quickreference.html">지시어들</a> | <a href="https://cwiki.apache.org/confluence/display/httpd/FAQ">FAQ</a> | <a href="./glossary.html">용어</a> | <a href="./sitemap.html">사이트맵</a> | <a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2">Report a bug</a></p>
<p class="apache">Apache HTTP Server Version 2.4</p>
<img alt="" src="./images/feather.png"></div>
<div class="up"><a href="./"><img title="<-" alt="<-" src="./images/left.gif"></a></div>
<div id="path">
<a href="https://www.apache.org/">Apache</a> &gt; <a href="https://httpd.apache.org/">HTTP Server</a> &gt; <a href="https://httpd.apache.org/docs/">Documentation</a> &gt; <a href="./">Version 2.4</a></div><div id="page-content"><div id="preamble"><h1>아파치 2.2의 새로운 기능 개요</h1>
<button aria-label="Toggle language list" class="lang-toggle"><svg xmlns="http://www.w3.org/2000/svg" stroke-width="2" stroke="currentColor" fill="none" viewBox="0 0 24 24" height="16" width="16"><circle r="10" cy="12" cx="12"/><line y2="12" x2="22" y1="12" x1="2"/><path d="M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z"/></svg></button>
<div class="toplang">
<p><span>가능한 언어: </span><a href="./en/new_features_2_2.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
<a href="./fr/new_features_2_2.html" hreflang="fr" rel="alternate" title="Fran&ccedil;ais">&nbsp;fr&nbsp;</a> |
<a href="./ko/new_features_2_2.html" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="./pt-br/new_features_2_2.html" hreflang="pt-br" rel="alternate" title="Portugu&ecirc;s (Brasil)">&nbsp;pt-br&nbsp;</a> |
<a href="./tr/new_features_2_2.html" hreflang="tr" rel="alternate" title="T&uuml;rk&ccedil;e">&nbsp;tr&nbsp;</a></p>
</div>
<div class="outofdate">이 문서는 최신판 번역이 아닙니다.
            최근에 변경된 내용은 영어 문서를 참고하세요.</div>

  <p>이 문서는 아파치 웹서버 2.0 버전과 2.2 버전간의 주된 차이점을
     설명한다. 1.3 버전 이후의 새로운 기능은 <a href="new_features_2_0.html">2.0 새로운 기능</a> 문서를
     참고하라.</p>
</div>
<div id="quickview"><ul id="toc"><li><img alt="" src="./images/down.gif"> <a href="#core">핵심 부분에서 나아진 점</a></li>
<li><img alt="" src="./images/down.gif"> <a href="#module">모듈에서 나아진 점</a></li>
<li><img alt="" src="./images/down.gif"> <a href="#developer">모듈 개발자에게 달라진 점</a></li>
</ul></div>
<div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif"></a></div>
<div class="section">
<h2 id="core">핵심 부분에서 나아진 점 <a title="Permanent link" href="#core" class="permalink">&para;</a></h2>
    
    <dl>

      <dt>Authn/Authz</dt>
      <dd>...</dd>

      <dt>캐쉬</dt>
      <dd>...</dd>

      <dt>프록시</dt>
      <dd>새로운 <code class="module"><a href="./mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code> 모듈이
      <code class="module"><a href="./mod/mod_proxy.html">mod_proxy</a></code>를 위한 부하분산 서비스를 제공한다.
      새로운 <code class="module"><a href="./mod/mod_proxy_ajp.html">mod_proxy_ajp</a></code> 모듈은 <a href="http://tomcat.apache.org/">아파치 톰캣</a>이
      사용하는 <code>Apache JServ Protocol 1.3 버전</code>을
      지원한다.</dd>

      <dt>똑똑한 필터</dt>
      <dd><code class="module"><a href="./mod/mod_filter.html">mod_filter</a></code>는 출력필터순서를 동적으로
      설정할 수 있다. 그래서 요청 헤더, 응답 헤더, 환경변수에
      따라 선택적으로 필터를 사용할 수 있고, 2.0 구조의 의심스러운
      의존관계와 순서 문제를 덜어준다.</dd>

    </dl>
  </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif"></a></div>
<div class="section">
<h2 id="module">모듈에서 나아진 점 <a title="Permanent link" href="#module" class="permalink">&para;</a></h2>
    
    <dl>
      <dt><code class="module"><a href="./mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code></dt>
      <dd>이 모듈은 2.0의 <code>mod_auth_ldap</code> 모듈을
      2.2의 <code>Authn/Authz</code> 구조로 옮긴 것이다. <code class="directive"><a href="./mod/core.html#require">Require</a></code> 지시어에서 LDAP
      속성(attribute) 값과 복잡한 검색 필터를 사용할 수 있는
      기능이 추가되었다.</dd>

      <dt><code class="module"><a href="./mod/mod_info.html">mod_info</a></code></dt>
      <dd>아파치가 읽어들인 설정지시어를 파일명과 줄번호와 같이
      보여주는 <code>?config</code> 아규먼트가 추가되었다. 모듈은
      모든 요청 훅(hook)의 순서와 <code>httpd -V</code>와 비슷한
      컴파일 정보도 보여준다.</dd>
    </dl>
  </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif"></a></div>
<div class="section">
<h2 id="developer">모듈 개발자에게 달라진 점 <a title="Permanent link" href="#developer" class="permalink">&para;</a></h2>
    
    <dl>
      <dt>APR 1.0 API</dt>

      <dd>아파치 2.2는 APR 1.0 API를 사용한다. <code>APR</code>과
      <code>APR-Util</code>에서 없어지기로 예정되었던 함수와
      심볼이 모두 없어졌다. 자세한 내용은 <a href="http://apr.apache.org/">APR 웹사이트</a>를 참고하라.</dd>

      <dt>연결 오류 로그 기록</dt>

      <dd>클라이언트와 연결에 발생한 오류를 로그에 기록하기위해
      함수 <code>ap_log_cerror</code>를 새로 추가했다. 로그에
      기록하면 문구에 클라이언트 IP 주소가 나온다.</dd>

      <dt>설정 테스트용 훅 추가</dt>

      <dd>사용자가 httpd에 <code>-t</code> 옵션을 사용한 경우에만
      모듈이 특별한 코드를 실행하도록 훅 <code>test_config</code>를
      새로 추가했다.</dd>

      <dt>쓰레드기반 MPM의 스택크기 지정</dt>

      <dd>모든 쓰레드기반 MPM의 스택크기를 지정하기위해
      <code>ThreadStackSize</code> 지시어를 새로 추가했다. 쓰레드
      스택크기 기본값이 작은 플레폼에서 일부 제삼자가 만든 모듈을
      사용할 경우에 필요하다.</dd>

      <dt>출력필터를 위한 프로토콜 처리</dt>

      <dd>전에는 모든 필터에게 자신이 처리한 응답에 올바른 응답
      헤더를 생성하는지 확인할 책임이 있었다. 이제 필터는
      <code>ap_register_output_filter_protocol</code> 혹은
      <code>ap_filter_protocol</code> 호출을 사용하여 일상적인
      프로토콜 관리를 <code class="module"><a href="./mod/mod_filter.html">mod_filter</a></code>에게 떠넘길
      수 있다.</dd>
    </dl>
  </div></div>
<div class="bottomlang">
<p><span>가능한 언어: </span><a href="./en/new_features_2_2.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
<a href="./fr/new_features_2_2.html" hreflang="fr" rel="alternate" title="Fran&ccedil;ais">&nbsp;fr&nbsp;</a> |
<a href="./ko/new_features_2_2.html" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="./pt-br/new_features_2_2.html" hreflang="pt-br" rel="alternate" title="Portugu&ecirc;s (Brasil)">&nbsp;pt-br&nbsp;</a> |
<a href="./tr/new_features_2_2.html" hreflang="tr" rel="alternate" title="T&uuml;rk&ccedil;e">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
<p class="apache">Copyright 2026 The Apache Software Foundation.<br>Licensed under the <a href="https://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="./mod/">모듈</a> | <a href="./mod/quickreference.html">지시어들</a> | <a href="https://cwiki.apache.org/confluence/display/httpd/FAQ">FAQ</a> | <a href="./glossary.html">용어</a> | <a href="./sitemap.html">사이트맵</a> | <a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2">Report a bug</a></p></div><script><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
    prettyPrint();
}
var langToggle = document.querySelector('.lang-toggle');
var topLang = document.querySelector('.toplang');
if (langToggle && topLang) {
    langToggle.addEventListener('click', function() { topLang.classList.toggle('open'); });
}
var qv = document.getElementById('quickview');
if (qv) {
    document.body.appendChild(qv);
    var qvBtn = document.createElement('button');
    qvBtn.className = 'qv-toggle';
    qvBtn.setAttribute('aria-label', 'Toggle page navigation');
    qvBtn.innerHTML = '&#9776;';
    document.body.appendChild(qvBtn);
    qvBtn.addEventListener('click', function() {
        var isOpen = qv.classList.toggle('open');
        if (isOpen) {
            qv.style.top = window.scrollY + 10 + 'px';
        }
    });
    window.addEventListener('scroll', function() { qv.classList.remove('open'); });
}
//--><!]]></script>
</body></html>