bottleneck testcase based on rubbos
[bottlenecks.git] / rubbos / app / httpd-2.0.64 / docs / manual / mod / mod_deflate.html.ja.utf8
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
7       -->
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>
13 <body>
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.0</p>
17 <img alt="" src="../images/feather.gif" /></div>
18 <div class="up"><a href="./"><img title="&lt;-" alt="&lt;-" src="../images/left.gif" /></a></div>
19 <div id="path">
20 <a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">HTTP サーバ</a> &gt; <a href="http://httpd.apache.org/docs/">ドキュメンテーション</a> &gt; <a href="../">バージョン 2.0</a> &gt; <a href="./">モジュール</a></div>
21 <div id="page-content">
22 <div id="preamble"><h1>Apache モジュール mod_deflate</h1>
23 <div class="toplang">
24 <p><span>Available Languages: </span><a href="../en/mod/mod_deflate.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
25 <a href="../ja/mod/mod_deflate.html" title="Japanese">&nbsp;ja&nbsp;</a> |
26 <a href="../ko/mod/mod_deflate.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a></p>
27 </div>
28 <table class="module"><tr><th><a href="module-dict.html#Description">説明:</a></th><td>クライアントへ送られる前にコンテンツを圧縮する</td></tr>
29 <tr><th><a href="module-dict.html#Status">ステータス:</a></th><td>Extension</td></tr>
30 <tr><th><a href="module-dict.html#ModuleIdentifier">モジュール識別子:</a></th><td>deflate_module</td></tr>
31 <tr><th><a href="module-dict.html#SourceFile">ソースファイル:</a></th><td>mod_deflate.c</td></tr></table>
32 <h3>概要</h3>
33
34     <p><code class="module"><a href="../mod/mod_deflate.html">mod_deflate</a></code> モジュールは <code>DEFLATE</code>
35     出力フィルタを提供します。これはサーバからの出力を、ネットワークを
36     通してクライアントに送る前に圧縮することを可能にします。</p>
37 </div>
38 <div id="quickview"><h3 class="directives">ディレクティブ</h3>
39 <ul id="toc">
40 <li><img alt="" src="../images/down.gif" /> <a href="#deflatebuffersize">DeflateBufferSize</a></li>
41 <li><img alt="" src="../images/down.gif" /> <a href="#deflatecompressionlevel">DeflateCompressionLevel</a></li>
42 <li><img alt="" src="../images/down.gif" /> <a href="#deflatefilternote">DeflateFilterNote</a></li>
43 <li><img alt="" src="../images/down.gif" /> <a href="#deflatememlevel">DeflateMemLevel</a></li>
44 <li><img alt="" src="../images/down.gif" /> <a href="#deflatewindowsize">DeflateWindowSize</a></li>
45 </ul>
46 <h3>トピック</h3>
47 <ul id="topics">
48 <li><img alt="" src="../images/down.gif" /> <a href="#recommended">サンプル設定</a></li>
49 <li><img alt="" src="../images/down.gif" /> <a href="#enable">圧縮を有効にする</a></li>
50 <li><img alt="" src="../images/down.gif" /> <a href="#proxies">Proxy サーバでの扱い</a></li>
51 </ul><h3>参照</h3>
52 <ul class="seealso">
53 <li><a href="../filter.html">Filters</a></li>
54 </ul></div>
55 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
56 <div class="section">
57 <h2><a name="recommended" id="recommended">サンプル設定</a></h2>
58     <p>下にせっかちな人向けの簡単な設定例を示します。</p>
59
60     <div class="example"><h3>数タイプのみ圧縮する</h3><p><code>
61       AddOutputFilterByType DEFLATE text/html text/plain text/xml
62     </code></p></div>
63
64     <p>以下の設定はコンテンツをより圧縮しますが、ずっと複雑な設定になります。
65     設定の隅々までよく理解しないで使わないでください。</p>
66
67     <div class="example"><h3>画像以外全て圧縮する</h3><p><code>
68       &lt;Location /&gt;<br />
69       <span class="indent">
70         # Insert filter<br />
71         SetOutputFilter DEFLATE<br />
72         <br />
73         # Netscape 4.x has some problems...<br />
74         BrowserMatch ^Mozilla/4         gzip-only-text/html<br />
75         <br />
76         # Netscape 4.06-4.08 have some more problems<br />
77         BrowserMatch ^Mozilla/4\.0[678] no-gzip<br />
78         <br />
79         # MSIE masquerades as Netscape, but it is fine<br />
80         # BrowserMatch \bMSIE             !no-gzip !gzip-only-text/html<br />
81         <br />
82         # NOTE: Due to a bug in mod_setenvif up to Apache 2.0.48<br />
83         # the above regex won't work. You can use the following<br />
84         # workaround to get the desired effect:<br />
85         BrowserMatch \bMSI[E]           !no-gzip !gzip-only-text/html<br />
86         <br />
87         # Don't compress images<br />
88         SetEnvIfNoCase Request_URI \<br />
89         <span class="indent">
90           \.(?:gif|jpe?g|png)$ no-gzip dont-vary<br />
91         </span>
92         <br />
93         # Make sure proxies don't deliver the wrong content<br />
94         Header append Vary User-Agent env=!dont-vary<br />
95       </span>
96       &lt;/Location&gt;
97     </code></p></div>
98
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>
102
103     <h3><a name="output" id="output">Output Compression</a></h3>
104       <p>圧縮機能は <code>DEFLATE</code> <a href="../filter.html">フィルタ</a>
105       により実装されています。以下のディレクティブはそのディレクティブのある
106       コンテナ中のドキュメントを圧縮するようにします:</p>
107       
108       <div class="example"><p><code>
109         SetOutputFilter DEFLATE
110       </code></p></div>
111
112       <p>よく使われているブラウザでは、すべてのコンテンツに対する
113       圧縮を扱えるわけではありません。ですから、<code>gzip-only-text/html</code> 
114       ノートを <code>1</code> にして、html ファイルに対してのみ
115       圧縮が働くようにした方がよいかもしれません (以下参照)
116       この値を <em><code>1</code> 以外の値</em>に設定した場合は無視されます。</p>
117       
118       <p>通常、特定のMIMEタイプについてのみ圧縮したいのであれば、
119       <code class="directive"><a href="../mod/core.html#addoutputfilterbytype">AddOutputFilterByType</a></code>
120       ディレクティブを使用します。次に Apache のドキュメントの html
121       ファイルのみの圧縮を有効にする例を示します。</p>
122
123       <div class="example"><p><code>
124         &lt;Directory "/your-server-root/manual"&gt;<br />
125         <span class="indent">
126           AddOutputFilterByType DEFLATE text/html<br />
127         </span>
128         &lt;/Directory&gt;
129       </code></p></div>
130
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>
136       を組み合わせることで上手く対処できます。
137       この場合、前者が後者をオーバーライドします。
138       上記の<a href="#recommended">設定例</a>の抜粋を
139       次に示しますのでご覧下さい。</p>
140
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
145       </code></p></div>
146
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>
152
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>
160
161       <div class="note"><h3>注</h3>
162         <code>DEFLATE</code> フィルタは必ず、PHP や SSI といった RESOURCE
163         フィルタの後になります。
164         DEFLATE フィルタは内部的なサブリクエストを関知しません。
165       </div>
166
167     
168
169     <h3><a name="input" id="input">入力の伸張</a></h3>
170       <p><code class="module"><a href="../mod/mod_deflate.html">mod_deflate</a></code> モジュールは、gzip
171       で圧縮されたリクエスト本体を伸張するフィルタも提供しています。
172       この機能を有効にするには、<code class="directive"><a href="../mod/core.html#setinputfilter">SetInputFilter</a></code>
173       か <code class="directive"><a href="../mod/mod_mime.html#addinputfilter">AddInputFilter</a></code> を使用して、
174       <code>DEFLATE</code> フィルタを入力フィルタチェインに組み込みます。
175       例えば次のようになります。</p>
176
177       <div class="example"><p><code>
178         &lt;Location /dav-area&gt;<br />
179         <span class="indent">
180           SetInputFilter DEFLATE<br />
181         </span>
182         &lt;/Location&gt;
183       </code></p></div>
184       
185       <p>この設定であれば、<code>Content-Encoding: gzip</code>
186       ヘッダを含むリクエストが来ると、本体は自動的に伸張されます。
187       gzip リクエスト本体を送信するブラウザはあまりありません。
188       しかし、例えば <a href="http://www.webdav.org">WebDAV</a>
189       クライアントの幾つかなど、特別なアプリケーションでリクエストの
190       圧縮を実際にサポートしているものもあります。</p>
191
192       <div class="warning"><h3>Content-Length に関する注意</h3>
193         <p>リクエスト本体それ自体を評価する場合は、<em><code>Content-Length</code>
194         ヘッダを信用しないでください</em>。Content-Length ヘッダは、
195         クライアントから送信されるデータの長さを反映しているのであって、
196         伸張されたデータストリームの<em>バイトカウントではありません</em>。</p>
197       </div>
198     
199 </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
200 <div class="section">
201 <h2><a name="proxies" id="proxies">Proxy サーバでの扱い</a></h2>
202
203     <p><code class="module"><a href="../mod/mod_deflate.html">mod_deflate</a></code> モジュールは <code>Vary: Accept-Encoding</code>
204     HTTP 応答ヘッダを送信して、適切な <code>Accept-Encoding</code>
205     リクエストヘッダを送信するクライアントに対してのみ、
206     プロクシサーバがキャッシュした応答を送信するように注意を喚起します。
207     このようにして、圧縮を扱うことのできないクライアントに
208     圧縮された内容が送られることのないようにします。</p>
209
210     <p>もし特別に何かに依存して除外したい場合、例えば <code>User-Agent</code>
211     ヘッダなどに依存している場合、手動で <code>Vary</code> ヘッダを設定して、
212     追加の制限についてプロクシサーバに注意を行なう必要があります。
213     例えば <code>User-Agent</code> に依存して <code>DEFLATE</code>
214     を追加する典型的な設定では、次のように追加することになります。</p>
215
216     <div class="example"><p><code>
217       Header append Vary User-Agent
218     </code></p></div>
219     
220     <p>リクエストヘッダ以外の情報 (<em>例えば</em> HTTP バージョン)
221     に依存して圧縮するかどうか決める場合、
222     <code>Vary</code> ヘッダを <code>*</code> に設定する必要があります。
223     このようにすると、仕様に準拠したプロクシはキャッシュを全く行なわなくなります。</p>
224
225     <div class="example"><h3>例</h3><p><code>
226       Header set Vary *
227     </code></p></div>
228 </div>
229 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
230 <div class="directive-section"><h2><a name="DeflateBufferSize" id="DeflateBufferSize">DeflateBufferSize</a> <a name="deflatebuffersize" id="deflatebuffersize">ディレクティブ</a></h2>
231 <table class="directive">
232 <tr><th><a href="directive-dict.html#Description">説明:</a></th><td>zlib が一度に圧縮する塊の大きさ</td></tr>
233 <tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>DeflateBufferSize <var>value</var></code></td></tr>
234 <tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>DeflateBufferSize 8096</code></td></tr>
235 <tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト</td></tr>
236 <tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr>
237 <tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_deflate</td></tr>
238 </table>
239     <p><code class="directive">DeflateBufferSize</code> ディレクティブは
240     zlib が一度に圧縮する塊の大きさをバイト単位で指定します。</p>
241
242 </div>
243 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
244 <div class="directive-section"><h2><a name="DeflateCompressionLevel" id="DeflateCompressionLevel">DeflateCompressionLevel</a> <a name="deflatecompressionlevel" id="deflatecompressionlevel">ディレクティブ</a></h2>
245 <table class="directive">
246 <tr><th><a href="directive-dict.html#Description">説明:</a></th><td>出力に対して行なう圧縮の程度</td></tr>
247 <tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>DeflateCompressionLevel <var>value</var></code></td></tr>
248 <tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>Zlib のデフォルト</code></td></tr>
249 <tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト</td></tr>
250 <tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr>
251 <tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_deflate</td></tr>
252 <tr><th><a href="directive-dict.html#Compatibility">互換性:</a></th><td>This directive is available since Apache 2.0.45</td></tr>
253 </table>
254      <p><code class="directive">DeflateCompressionLevel</code> ディレクティブは
255          圧縮の程度を設定します。大きな値では、より圧縮が行なわれますが、
256          CPU 資源を消費します。</p>
257     <p>値は 1 (低圧縮) から 9 (高圧縮) です。</p>
258
259 </div>
260 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
261 <div class="directive-section"><h2><a name="DeflateFilterNote" id="DeflateFilterNote">DeflateFilterNote</a> <a name="deflatefilternote" id="deflatefilternote">ディレクティブ</a></h2>
262 <table class="directive">
263 <tr><th><a href="directive-dict.html#Description">説明:</a></th><td>ロギング用に圧縮比をメモに追加</td></tr>
264 <tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>DeflateFilterNote [<var>type</var>] <var>notename</var></code></td></tr>
265 <tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト</td></tr>
266 <tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr>
267 <tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_deflate</td></tr>
268 <tr><th><a href="directive-dict.html#Compatibility">互換性:</a></th><td><var>type</var> is available since Apache 2.0.45</td></tr>
269 </table>
270     <p><code class="directive">DeflateFilterNote</code> ディレクティブは
271     圧縮比に関するメモがリクエストに付加されることを指定します。
272     メモ (note) の名前はディレクティブに指定された値です。
273     メモは<a href="../logs.html#accesslog">アクセスログ</a>に
274     値を記録し、統計を取る目的にも使えます。</p>
275
276     <div class="example"><h3>例</h3><p><code>
277       DeflateFilterNote ratio<br />
278       <br />
279       LogFormat '"%r" %b (%{ratio}n) "%{User-agent}i"' deflate<br />
280       CustomLog logs/deflate_log deflate
281     </code></p></div>
282
283     <p>ログからもっと精密な値を抽出したい場合は、<var>type</var>
284     引数を使用して、データタイプをログのメモとして残すように指定できます。
285     <var>type</var> は次のうちの一つです。</p>
286
287     <dl>
288       <dt><code>Input</code></dt>
289       <dd>フィルタの入力ストリームのバイトカウントをメモに保存する。</dd>
290
291       <dt><code>Output</code></dt>
292       <dd>フィルタの出力ストリームのバイトカウントをメモに保存する。</dd>
293
294       <dt><code>Ratio</code></dt>
295       <dd>圧縮率 (<code>出力 / 入力 * 100</code>) をメモに保存する。
296       <var>type</var> 引数を省略した場合は、これがデフォルトとなります。</dd>
297     </dl>
298
299     <p>まとめると、次のようにログを取ることになるでしょう。</p>
300
301     <div class="example"><h3>精密なログ採取</h3><p><code>
302       DeflateFilterNote Input instream<br />
303       DeflateFilterNote Output outstream<br />
304       DeflateFilterNote Ratio ratio<br />
305       <br />
306       LogFormat '"%r" %{outstream}n/%{instream}n (%{ratio}n%%)' deflate<br />
307       CustomLog logs/deflate_log deflate
308     </code></p></div>
309
310 <h3>参照</h3>
311 <ul>
312 <li><code class="module"><a href="../mod/mod_log_config.html">mod_log_config</a></code></li>
313 </ul>
314 </div>
315 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
316 <div class="directive-section"><h2><a name="DeflateMemLevel" id="DeflateMemLevel">DeflateMemLevel</a> <a name="deflatememlevel" id="deflatememlevel">ディレクティブ</a></h2>
317 <table class="directive">
318 <tr><th><a href="directive-dict.html#Description">説明:</a></th><td>zlib が圧縮に使うメモリのレベルを指定</td></tr>
319 <tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>DeflateMemLevel <var>value</var></code></td></tr>
320 <tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>DeflateMemLevel 9</code></td></tr>
321 <tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト</td></tr>
322 <tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr>
323 <tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_deflate</td></tr>
324 </table>
325     <p><code class="directive">DeflateMemLevel</code> ディレクティブは
326     zlib が圧縮に使うメモリのレベルを設定します (1 から 9 の間の値)。
327     (訳注: 2 を底とする対数の値になります。
328     8 程度が良いでしょう。)</p>
329
330 </div>
331 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
332 <div class="directive-section"><h2><a name="DeflateWindowSize" id="DeflateWindowSize">DeflateWindowSize</a> <a name="deflatewindowsize" id="deflatewindowsize">ディレクティブ</a></h2>
333 <table class="directive">
334 <tr><th><a href="directive-dict.html#Description">説明:</a></th><td>Zlib の圧縮用ウィンドウの大きさ</td></tr>
335 <tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>DeflateWindowSize <var>value</var></code></td></tr>
336 <tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>DeflateWindowSize 15</code></td></tr>
337 <tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト</td></tr>
338 <tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr>
339 <tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_deflate</td></tr>
340 </table>
341     <p><code class="directive">DeflateWindowSize</code> ディレクティブは
342     zlib の圧縮用ウィンドウ (訳注: zlib で使用される履歴バッファ) 
343     の大きさを指定します (1 から 15 の間の値)。
344     一般的に大きなウィンドウサイズを使用すると圧縮率が向上します。
345     (訳注: 2 を底とする対数の値になります。
346     8 から 15 にするのが良いでしょう。)</p>
347
348 </div>
349 </div>
350 <div class="bottomlang">
351 <p><span>Available Languages: </span><a href="../en/mod/mod_deflate.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
352 <a href="../ja/mod/mod_deflate.html" title="Japanese">&nbsp;ja&nbsp;</a> |
353 <a href="../ko/mod/mod_deflate.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a></p>
354 </div><div id="footer">
355 <p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
356 <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>
357 </body></html>