1 <?xml version="1.0" encoding="UTF-8"?>
2 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3 <html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja"><head><!--
4 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
5 This file is generated from xml source: DO NOT EDIT
6 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
8 <title>mod_deflate - Apache HTTP サーバ</title>
9 <link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
10 <link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
11 <link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" />
12 <link href="../images/favicon.ico" rel="shortcut icon" /></head>
14 <div id="page-header">
15 <p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p>
16 <p class="apache">Apache HTTP サーバ バージョン 2.5</p>
17 <img alt="" src="../images/feather.gif" /></div>
18 <div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div>
20 <a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP サーバ</a> > <a href="http://httpd.apache.org/docs/">ドキュメンテーション</a> > <a href="../">バージョン 2.5</a> > <a href="./">モジュール</a></div>
21 <div id="page-content">
22 <div id="preamble"><h1>Apache モジュール mod_deflate</h1>
24 <p><span>翻訳済み言語: </span><a href="../en/mod/mod_deflate.html" hreflang="en" rel="alternate" title="English"> en </a> |
25 <a href="../fr/mod/mod_deflate.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
26 <a href="../ja/mod/mod_deflate.html" title="Japanese"> ja </a> |
27 <a href="../ko/mod/mod_deflate.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p>
29 <div class="outofdate">この日本語訳はすでに古くなっている
31 最近更新された内容を見るには英語版をご覧下さい。
33 <table class="module"><tr><th><a href="module-dict.html#Description">説明:</a></th><td>クライアントへ送られる前にコンテンツを圧縮する</td></tr>
34 <tr><th><a href="module-dict.html#Status">ステータス:</a></th><td>Extension</td></tr>
35 <tr><th><a href="module-dict.html#ModuleIdentifier">モジュール識別子:</a></th><td>deflate_module</td></tr>
36 <tr><th><a href="module-dict.html#SourceFile">ソースファイル:</a></th><td>mod_deflate.c</td></tr></table>
39 <p><code class="module"><a href="../mod/mod_deflate.html">mod_deflate</a></code> モジュールは <code>DEFLATE</code>
40 出力フィルタを提供します。これはサーバからの出力を、ネットワークを
41 通してクライアントに送る前に圧縮することを可能にします。</p>
43 <div id="quickview"><h3 class="directives">ディレクティブ</h3>
45 <li><img alt="" src="../images/down.gif" /> <a href="#deflatebuffersize">DeflateBufferSize</a></li>
46 <li><img alt="" src="../images/down.gif" /> <a href="#deflatecompressionlevel">DeflateCompressionLevel</a></li>
47 <li><img alt="" src="../images/down.gif" /> <a href="#deflatefilternote">DeflateFilterNote</a></li>
48 <li><img alt="" src="../images/down.gif" /> <a href="#deflatememlevel">DeflateMemLevel</a></li>
49 <li><img alt="" src="../images/down.gif" /> <a href="#deflatewindowsize">DeflateWindowSize</a></li>
53 <li><img alt="" src="../images/down.gif" /> <a href="#recommended">サンプル設定</a></li>
54 <li><img alt="" src="../images/down.gif" /> <a href="#enable">圧縮を有効にする</a></li>
55 <li><img alt="" src="../images/down.gif" /> <a href="#proxies">Proxy サーバでの扱い</a></li>
58 <li><a href="../filter.html">Filters</a></li>
60 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
62 <h2><a name="recommended" id="recommended">サンプル設定</a></h2>
63 <p>下にせっかちな人向けの簡単な設定例を示します。</p>
65 <div class="example"><h3>数タイプのみ圧縮する</h3><p><code>
66 AddOutputFilterByType DEFLATE text/html text/plain text/xml
69 <p>以下の設定はコンテンツをより圧縮しますが、ずっと複雑な設定になります。
70 設定の隅々までよく理解しないで使わないでください。</p>
72 <div class="example"><h3>画像以外全て圧縮する</h3><p><code>
73 <Location /><br />
76 SetOutputFilter DEFLATE<br />
78 # Netscape 4.x has some problems...<br />
79 BrowserMatch ^Mozilla/4 gzip-only-text/html<br />
81 # Netscape 4.06-4.08 have some more problems<br />
82 BrowserMatch ^Mozilla/4\.0[678] no-gzip<br />
84 # MSIE masquerades as Netscape, but it is fine<br />
85 # BrowserMatch \bMSIE !no-gzip !gzip-only-text/html<br />
87 # Don't compress images<br />
88 SetEnvIfNoCase Request_URI \<br />
90 \.(?:gif|jpe?g|png)$ no-gzip dont-vary<br />
93 # Make sure proxies don't deliver the wrong content<br />
94 Header append Vary User-Agent env=!dont-vary<br />
99 </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
100 <div class="section">
101 <h2><a name="enable" id="enable">圧縮を有効にする</a></h2>
103 <h3><a name="output" id="output">Output Compression</a></h3>
104 <p>圧縮機能は <code>DEFLATE</code> <a href="../filter.html">フィルタ</a>
105 により実装されています。以下のディレクティブはそのディレクティブのある
106 コンテナ中のドキュメントを圧縮するようにします:</p>
108 <div class="example"><p><code>
109 SetOutputFilter DEFLATE
112 <p>よく使われているブラウザでは、すべてのコンテンツに対する
113 圧縮を扱えるわけではありません。ですから、<code>gzip-only-text/html</code>
114 ノートを <code>1</code> にして、html ファイルに対してのみ
115 圧縮が働くようにした方がよいかもしれません (以下参照)
116 この値を <em><code>1</code> 以外の値</em>に設定した場合は無視されます。</p>
118 <p>通常、特定のMIMEタイプについてのみ圧縮したいのであれば、
119 <code class="directive"><a href="../mod/core.html#addoutputfilterbytype">AddOutputFilterByType</a></code>
120 ディレクティブを使用します。次に Apache のドキュメントの html
121 ファイルのみの圧縮を有効にする例を示します。</p>
123 <div class="example"><p><code>
124 <Directory "/your-server-root/manual"><br />
125 <span class="indent">
126 AddOutputFilterByType DEFLATE text/html<br />
131 <p>全てのファイルタイプでの圧縮に問題を抱えているブラウザに対しては、
132 <code class="directive"><a href="../mod/mod_setenvif.html#browsermatch">BrowserMatch</a></code>
133 ディレクティブを使用して、特定のブラウザに <code>no-gzip</code>
134 ノートをセットし、圧縮が行なわれないようにします。
135 <code>no-gzip</code> と <code>gzip-only-text/html</code>
137 この場合、前者が後者をオーバーライドします。
138 上記の<a href="#recommended">設定例</a>の抜粋を
141 <div class="example"><p><code>
142 BrowserMatch ^Mozilla/4 gzip-only-text/html<br />
143 BrowserMatch ^Mozilla/4\.0[678] no-gzip<br />
144 BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
147 <p>まず始めに <code>User-Agent</code> 文字列から Netscape Navigator
148 4.x であるかどうかを調べます。これらのバージョンでは、
149 <code>text/html</code> 以外のタイプの圧縮を扱うことができません。
150 4.06, 4.07, 4.08 は html ファイルの伸張にも問題を抱えています。
151 ですからこれらに対しては、完全に deflate フィルタをオフにします。</p>
153 <p>3 番目の <code class="directive"><a href="../mod/mod_setenvif.html#browsermatch">BrowserMatch</a></code>
154 ディレクティブで、推測したユーザーエージェントを修正します。
155 なぜなら Microsoft Internet Explorer も "Mozilla/4" と特定されますが、
156 これらは実際には圧縮を扱うことができるからです。
157 <code>User-Agent</code> ヘッダを "MSIE"
158 (<code>\b</code> は「単語の境界」を意味します) の追加文字で検査して、
159 これ以前に設定した制限を再び解除します。</p>
161 <div class="note"><h3>注</h3>
162 <code>DEFLATE</code> フィルタは必ず、PHP や SSI といった RESOURCE
164 DEFLATE フィルタは内部的なサブリクエストを関知しません。
166 <div class="note"><h3>注</h3>
167 <code class="directive"><a href="../mod/core.html#setenv">SetEnv</a></code> で設定される
168 <code>force-gzip</code> 環境変数がありますが、これは
169 ブラウザの accept-encoding 設定を無視し、圧縮した出力をします。
173 <h3><a name="inflate" id="inflate">出力の伸長</a></h3>
174 <p><code class="module"><a href="../mod/mod_deflate.html">mod_deflate</a></code> モジュールは、gzip 圧縮されたレスポンス
175 本文を inflate/uncompress するフィルタも提供しています。
176 この機能を有効にするには、<code class="directive"><a href="../mod/core.html#setoutputfilter">SetOutputFilter</a></code>
177 や <code class="directive"><a href="../mod/mod_mime.html#addoutputfilter">AddOutputFilter</a></code> を使って、
178 <code>INFLATE</code> フィルタを出力フィルタチェインに挿入します。
181 <div class="example"><p><code>
182 <Location /dav-area><br />
183 <span class="indent">
184 ProxyPass http://example.com/<br />
185 SetOutputFilter INFLATE<br />
190 <p>この例では、example.com からの gzip 圧縮された出力を伸長し、
191 その他のフィルタがさらにその出力を処理できるようにします。
195 <h3><a name="input" id="input">入力の伸張</a></h3>
196 <p><code class="module"><a href="../mod/mod_deflate.html">mod_deflate</a></code> モジュールは、gzip
197 で圧縮されたリクエスト本体を伸張するフィルタも提供しています。
198 この機能を有効にするには、<code class="directive"><a href="../mod/core.html#setinputfilter">SetInputFilter</a></code>
199 か <code class="directive"><a href="../mod/mod_mime.html#addinputfilter">AddInputFilter</a></code> を使用して、
200 <code>DEFLATE</code> フィルタを入力フィルタチェインに組み込みます。
203 <div class="example"><p><code>
204 <Location /dav-area><br />
205 <span class="indent">
206 SetInputFilter DEFLATE<br />
211 <p>この設定であれば、<code>Content-Encoding: gzip</code>
212 ヘッダを含むリクエストが来ると、本体は自動的に伸張されます。
213 gzip リクエスト本体を送信するブラウザはあまりありません。
214 しかし、例えば <a href="http://www.webdav.org">WebDAV</a>
215 クライアントの幾つかなど、特別なアプリケーションでリクエストの
216 圧縮を実際にサポートしているものもあります。</p>
218 <div class="warning"><h3>Content-Length に関する注意</h3>
219 <p>リクエスト本体それ自体を評価する場合は、<em><code>Content-Length</code>
220 ヘッダを信用しないでください</em>。Content-Length ヘッダは、
221 クライアントから送信されるデータの長さを反映しているのであって、
222 伸張されたデータストリームの<em>バイトカウントではありません</em>。</p>
225 </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
226 <div class="section">
227 <h2><a name="proxies" id="proxies">Proxy サーバでの扱い</a></h2>
229 <p><code class="module"><a href="../mod/mod_deflate.html">mod_deflate</a></code> モジュールは <code>Vary: Accept-Encoding</code>
230 HTTP 応答ヘッダを送信して、適切な <code>Accept-Encoding</code>
231 リクエストヘッダを送信するクライアントに対してのみ、
232 プロクシサーバがキャッシュした応答を送信するように注意を喚起します。
233 このようにして、圧縮を扱うことのできないクライアントに
234 圧縮された内容が送られることのないようにします。</p>
236 <p>もし特別に何かに依存して除外したい場合、例えば <code>User-Agent</code>
237 ヘッダなどに依存している場合、手動で <code>Vary</code> ヘッダを設定して、
238 追加の制限についてプロクシサーバに注意を行なう必要があります。
239 例えば <code>User-Agent</code> に依存して <code>DEFLATE</code>
240 を追加する典型的な設定では、次のように追加することになります。</p>
242 <div class="example"><p><code>
243 Header append Vary User-Agent
246 <p>リクエストヘッダ以外の情報 (<em>例えば</em> HTTP バージョン)
248 <code>Vary</code> ヘッダを <code>*</code> に設定する必要があります。
249 このようにすると、仕様に準拠したプロクシはキャッシュを全く行なわなくなります。</p>
251 <div class="example"><h3>例</h3><p><code>
255 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
256 <div class="directive-section"><h2><a name="DeflateBufferSize" id="DeflateBufferSize">DeflateBufferSize</a> <a name="deflatebuffersize" id="deflatebuffersize">ディレクティブ</a></h2>
257 <table class="directive">
258 <tr><th><a href="directive-dict.html#Description">説明:</a></th><td>zlib が一度に圧縮する塊の大きさ</td></tr>
259 <tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>DeflateBufferSize <var>value</var></code></td></tr>
260 <tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>DeflateBufferSize 8096</code></td></tr>
261 <tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト</td></tr>
262 <tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr>
263 <tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_deflate</td></tr>
265 <p><code class="directive">DeflateBufferSize</code> ディレクティブは
266 zlib が一度に圧縮する塊の大きさをバイト単位で指定します。</p>
269 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
270 <div class="directive-section"><h2><a name="DeflateCompressionLevel" id="DeflateCompressionLevel">DeflateCompressionLevel</a> <a name="deflatecompressionlevel" id="deflatecompressionlevel">ディレクティブ</a></h2>
271 <table class="directive">
272 <tr><th><a href="directive-dict.html#Description">説明:</a></th><td>出力に対して行なう圧縮の程度</td></tr>
273 <tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>DeflateCompressionLevel <var>value</var></code></td></tr>
274 <tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>Zlib のデフォルト</code></td></tr>
275 <tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト</td></tr>
276 <tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr>
277 <tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_deflate</td></tr>
278 <tr><th><a href="directive-dict.html#Compatibility">互換性:</a></th><td>This directive is available since Apache 2.0.45</td></tr>
280 <p><code class="directive">DeflateCompressionLevel</code> ディレクティブは
281 圧縮の程度を設定します。大きな値では、より圧縮が行なわれますが、
283 <p>値は 1 (低圧縮) から 9 (高圧縮) です。</p>
286 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
287 <div class="directive-section"><h2><a name="DeflateFilterNote" id="DeflateFilterNote">DeflateFilterNote</a> <a name="deflatefilternote" id="deflatefilternote">ディレクティブ</a></h2>
288 <table class="directive">
289 <tr><th><a href="directive-dict.html#Description">説明:</a></th><td>ロギング用に圧縮比をメモに追加</td></tr>
290 <tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>DeflateFilterNote [<var>type</var>] <var>notename</var></code></td></tr>
291 <tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト</td></tr>
292 <tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr>
293 <tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_deflate</td></tr>
294 <tr><th><a href="directive-dict.html#Compatibility">互換性:</a></th><td><var>type</var> is available since Apache 2.0.45</td></tr>
296 <p><code class="directive">DeflateFilterNote</code> ディレクティブは
297 圧縮比に関するメモがリクエストに付加されることを指定します。
298 メモ (note) の名前はディレクティブに指定された値です。
299 メモは<a href="../logs.html#accesslog">アクセスログ</a>に
300 値を記録し、統計を取る目的にも使えます。</p>
302 <div class="example"><h3>例</h3><p><code>
303 DeflateFilterNote ratio<br />
305 LogFormat '"%r" %b (%{ratio}n) "%{User-agent}i"' deflate<br />
306 CustomLog logs/deflate_log deflate
309 <p>ログからもっと精密な値を抽出したい場合は、<var>type</var>
310 引数を使用して、データタイプをログのメモとして残すように指定できます。
311 <var>type</var> は次のうちの一つです。</p>
314 <dt><code>Input</code></dt>
315 <dd>フィルタの入力ストリームのバイトカウントをメモに保存する。</dd>
317 <dt><code>Output</code></dt>
318 <dd>フィルタの出力ストリームのバイトカウントをメモに保存する。</dd>
320 <dt><code>Ratio</code></dt>
321 <dd>圧縮率 (<code>出力 / 入力 * 100</code>) をメモに保存する。
322 <var>type</var> 引数を省略した場合は、これがデフォルトとなります。</dd>
325 <p>まとめると、次のようにログを取ることになるでしょう。</p>
327 <div class="example"><h3>精密なログ採取</h3><p><code>
328 DeflateFilterNote Input instream<br />
329 DeflateFilterNote Output outstream<br />
330 DeflateFilterNote Ratio ratio<br />
332 LogFormat '"%r" %{outstream}n/%{instream}n (%{ratio}n%%)' deflate<br />
333 CustomLog logs/deflate_log deflate
338 <li><code class="module"><a href="../mod/mod_log_config.html">mod_log_config</a></code></li>
341 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
342 <div class="directive-section"><h2><a name="DeflateMemLevel" id="DeflateMemLevel">DeflateMemLevel</a> <a name="deflatememlevel" id="deflatememlevel">ディレクティブ</a></h2>
343 <table class="directive">
344 <tr><th><a href="directive-dict.html#Description">説明:</a></th><td>zlib が圧縮に使うメモリのレベルを指定</td></tr>
345 <tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>DeflateMemLevel <var>value</var></code></td></tr>
346 <tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>DeflateMemLevel 9</code></td></tr>
347 <tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト</td></tr>
348 <tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr>
349 <tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_deflate</td></tr>
351 <p><code class="directive">DeflateMemLevel</code> ディレクティブは
352 zlib が圧縮に使うメモリのレベルを設定します (1 から 9 の間の値)。
353 (訳注: 2 を底とする対数の値になります。
357 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
358 <div class="directive-section"><h2><a name="DeflateWindowSize" id="DeflateWindowSize">DeflateWindowSize</a> <a name="deflatewindowsize" id="deflatewindowsize">ディレクティブ</a></h2>
359 <table class="directive">
360 <tr><th><a href="directive-dict.html#Description">説明:</a></th><td>Zlib の圧縮用ウィンドウの大きさ</td></tr>
361 <tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>DeflateWindowSize <var>value</var></code></td></tr>
362 <tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>DeflateWindowSize 15</code></td></tr>
363 <tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト</td></tr>
364 <tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr>
365 <tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_deflate</td></tr>
367 <p><code class="directive">DeflateWindowSize</code> ディレクティブは
368 zlib の圧縮用ウィンドウ (訳注: zlib で使用される履歴バッファ)
369 の大きさを指定します (1 から 15 の間の値)。
370 一般的に大きなウィンドウサイズを使用すると圧縮率が向上します。
371 (訳注: 2 を底とする対数の値になります。
372 8 から 15 にするのが良いでしょう。)</p>
376 <div class="bottomlang">
377 <p><span>翻訳済み言語: </span><a href="../en/mod/mod_deflate.html" hreflang="en" rel="alternate" title="English"> en </a> |
378 <a href="../fr/mod/mod_deflate.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
379 <a href="../ja/mod/mod_deflate.html" title="Japanese"> ja </a> |
380 <a href="../ko/mod/mod_deflate.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p>
381 </div><div id="footer">
382 <p class="apache">Copyright 2012 The Apache Software Foundation.<br />この文書は <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> のライセンスで提供されています。.</p>
383 <p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p></div>