<?xml version='1.0' encoding='iso-2022-jp' ?>
<!DOCTYPE manualpage SYSTEM "./style/manualpage.dtd">
<?xml-stylesheet type="text/xsl" href="./style/manual.ja.xsl"?>
<manualpage>
<relativepath href="."/>
<!-- English revision: 1.4.2.1 -->

<title>Apache 2.0 の新機能の概要</title>

<summary>
  <p>この文書では、Apache HTTP サーババージョン 1.3 と 2.0
     の主な違いについて記述しています。</p>
</summary>

<seealso><a href="upgrading.html">1.3 から 2.0 へのアップグレード</a></seealso>

  <section id="core">
    <title>コア機能の拡張</title>

    <dl>
      <dt>Unix のスレッド</dt>

      <dd>POSIX スレッドをサポートしている Unix システム上では、
      Apache はマルチプロセス、マルチスレッドのハイブリッドモードで
      実行できるようになりました。これにより
      多くの設定においてスケーラビリティが向上します。</dd>

      <dt>新しいビルドシステム</dt>

      <dd>ビルドシステムは <code>autoconf</code> と <code>libtool</code>
      に基づいたものになるように、
      新しく書き直されました。これにより、Apache の configure のシステムは
      他のパッケージと似たものになりました。</dd>

      <dt>マルチプロトコルサポート</dt>

      <dd>Apache に複数のプロトコルを扱うための機構が備わりました。
      例として <module>mod_echo</module> が書かれています。</dd>

      <dt>Unix 以外のプラットフォームのサポートの改善</dt>

      <dd>Apache 2.0 は BeOS、OS/2、Windows などの Unix 以外の
      プラットフォームで、より速く、より安定して動作するようになりました。
      プラットフォーム特有の <a
      href="mpm.html">マルチプロセッシングモジュール</a> (MPM) と
      Apache Portable Runtime (APR) の導入により、
      ネイティヴの API で実装されるようになり、
      バグが多く、性能の悪いことが多い POSIX エミュレーションレイヤの使用を
      回避することができました。</dd>

      <dt>新しい Apache API</dt>

      <dd>2.0 ではモジュールの API が大きく変わりました。
      1.3 にあったモジュールの順番/優先度の問題の多くは
      なくなっているはずです。2.0 は優先度の選択をほとんどを自動的に行ない、
      モジュールの順番はより柔軟性を高めるためにフック毎に行なわれるように
      なりました。また、コア Apache サーバにパッチをあてることなく
      追加のモジュール機能を提供することができるように新しい関数が
      追加されました。</dd>

      <dt>IPv6 サポート</dt>

      <dd>Apache が使用している Apache Portable Runtime library が
      IPv6 をサポートしているシステムでは Apache は デフォルトで
      IPv6 のソケットを listen します。さらに、
      <directive module="mpm_common">Listen</directive>,
      <directive module="core">NameVirtualHost</directive>,
      <directive module="core">VirtualHost</directive>
      の各ディレクティブが IPv6 のアドレスを
      サポートするようになりました (例えば、
      "<code>Listen [fe80::1]:8080</code>")。</dd>

      <dt>フィルタ</dt>

      <dd>Apache のモジュールはサーバから送られてきたり、サーバへ
      送るストリームに対して動作するフィルタとして書くことができるように
      なりました。これにより、例えば CGI スクリプトの出力を
      <module>mod_include</module> の <code>INCLUDES</code> フィルタを使って
      Server Side Include のディレクティブを解析する、
      というようなことが可能になりました。<module>mod_ext_filter</module>
      で外部プログラムをフィルタとして動作させることができます。
      これは CGI プログラムをハンドラとして動作させるのと
      よく似た方法でできます。</dd>

      <dt>多言語エラー応答</dt>

      <dd>ブラウザへのエラー応答のメッセージが、SSI の文書を使って
      複数の言語で提供されるようになりました。見ための一貫性を保つために
      管理者がカスタマイズすることもできます。</dd>

      <dt>設定の簡素化</dt>

      <dd>多くの混乱を招きがちなディレクティブが簡素化されました。
      よく混乱を引き起こしていた <code>Port</code> ディレクティブと 
      <code>Bind</code> ディレクティブは
      なくなりました。<directive module="mpm_common">Listen</directive>
      ディレクティブのみが IP アドレスのバインドに使われます。
      <directive module="core">ServerName</directive> ディレクティブでは
      リダイレクトと vhost の認識のためだけにサーバの名前とポート番号を
      指定します。</dd>

      <dt>Windows NT のネイティヴ Unicode サポート</dt>

      <dd>Windows NT 上の Apache 2.0 はファイル名の文字エンコード全てに
      utf-8 を使うようになりました。これらは Unicode ファイルシステムに
      直接変換されるので、Windows 2000 と Windows XP を含む、全ての
      Windows NT 系で多言語サポートが提供されます。
      <em>このサポートは、ファイルシステムのアクセス時にローカルの
      コードページを使う Windows 95, 98, ME には適用されません。</em></dd>

      <dt>正規表現ライブラリのアップデート</dt>

      <dd>Apache 2.0 は <a href="http://www.pcre.org/">Perl
      互換正規表現ライブラリ (PCRE) </a>を含んでいます。
      正規表現の評価には、より強力になった Perl 5
      構文を使用します。</dd>

    </dl>
  </section>

  <section id="module">
    <title>モジュールの拡張</title>

    <dl>
      <dt><module>mod_ssl</module></dt>

      <dd>Apache 2.0 の新モジュール。このモジュールは OpenSSL が
      提供する SSL/TLS 暗号プロトコルへのインタフェースです。</dd>

      <dt><module>mod_dav</module></dt>

      <dd>Apache 2.0 の新モジュール。このモジュールはウェブコンテンツを
      送り、維持するための規格
      HTTP Distributed Authoring and Versioning (DAV) を実装しています。</dd>

      <dt><module>mod_deflate</module></dt>

      <dd>Apache 2.0 の新モジュール。送信前に送信内容を圧縮して
      ネットワーク帯域を節約する、というリクエストをブラウザが
      要求できるようにします。</dd>

      <dt><module>mod_auth_ldap</module></dt>

      <dd>Apache 2.0.41 の新モジュール。HTTP 基本認証の証明書を保存するのに、
      LDAP データベースを使用できるようになります。
      関連モジュールの <module>mod_ldap</module> で、
      コネクションのプール機能と結果のキャッシュ機能が提供されます。</dd>

      <dt><module>mod_auth_digest</module></dt>

      <dd>このモジュールは共有メモリを使うことにより、プロセスをまたいだ
      セッションのキャッシュをサポートするようになりました。</dd>

      <dt><module>mod_charset_lite</module></dt>

      <dd>Apache 2.0 の新モジュール。この実験的なモジュールは
      キャラクタセットの変換や再符号化を可能にします。</dd>

      <dt><module>mod_file_cache</module></dt>

      <dd>Apache 2.0 の新モジュール。このモジュールには、
      Apache 1.3 における <code>mod_mmap_static</code> 機能が含まれ、
      また、追加のキャッシュ機能が加わっています。</dd>

      <dt><module>mod_headers</module></dt>

      <dd>このモジュールは Apache 2.0 で非常に柔軟性が
      高くなりました。<module>mod_proxy</module>
      で使われるリクエストのヘッダを変更できるようになりましたし、
      応答ヘッダを条件に応じて設定できるようになりました。</dd>

      <dt><module>mod_proxy</module></dt>

      <dd>proxy モジュールは新しいフィルタの機構を利用するためと、
      より信頼できる、HTTP/1.1 に準拠した proxy を実装するために
      完全に書き直されました。さらに、新しい 
      <directive module="mod_proxy" type="section">Proxy</directive>
      設定セクションがproxy されるサイトのより読みやすく (内部的にもより速い)
      設定を提供します。オーバーロードされた
      <code>&lt;Directory "proxy:... &gt;</code>
      設定はサポートされていません。このモジュールは <code>proxy_connect</code>,
      <code>proxy_ftp</code>, <code>proxy_http</code> 
      といった、特定のプロトコルをサポートする
      モジュールに分割されるようになりました。</dd>

      <dt><module>mod_negotiation</module></dt>

      <dd>クライアントが NOT ACCEPTABLE や MULTIPLE CHOICES 応答の
      代わりに常に単独の文書を受けとるようにするために、新しいディレクティブ
      <directive module="mod_negotiation">ForceLanguagePriority</directive>
      を使うことができるようになりました。
      さらに、より一貫性のある結果を提供するために
      ネゴシエーションと MultiViews のアルゴリズムが改善され、
      文書の内容を含めることのできる、新しい形式のタイプマップが
      提供されるようになりました。</dd>

      <dt><module>mod_autoindex</module></dt>

      <dd>Autoindex されるディレクトリの内容一覧が、
      きれいに表示されるために HTML のテーブルを使うように
      設定できるようになりました。また、バージョンによるソーティングなど、
      より細かいソーティングの制御ができるようになり、ディレクトリ
      の内容一覧をワイルドカードにより選別することができるようにもなりました。</dd>

      <dt><module>mod_include</module></dt>

      <dd>新しいディレクティブにより、SSI のデフォルトの開始タグと終了タグを
      変更できるようになりました。また、エラーと時刻の形式の設定が SSI の
      文書中ではなく、主設定ファイル中で行なえるようになりました。
      正規表現の解析とグループ化の結果 (Perl の正規表現の構文に
      基づいたものになりました) を <module>mod_include</module>
      の変数 $0 .. $9 により取得できるようになりました。</dd>

      <dt><module>mod_auth_dbm</module></dt>

      <dd><directive module="mod_auth_dbm">AuthDBMType</directive>
      ディレクティブにより、複数の DBM 型のデータベースをサポートする
      ようになりました。</dd>

    </dl>
  </section>
</manualpage>
