summaryrefslogtreecommitdiff
path: root/docs/manual/mod/mod_headers.html.ja.euc-jp
blob: ed80ce125a7dcbe1e1173bb8c0792c166c0ae7f0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
<?xml version="1.0" encoding="EUC-JP"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja"><head><!--
        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
              This file is generated from xml source: DO NOT EDIT
        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
      -->
<title>mod_headers - Apache HTTP サーバ</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 href="../images/favicon.ico" rel="shortcut icon" /></head>
<body>
<div id="page-header">
<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>
<p class="apache">Apache HTTP サーバ バージョン 2.1</p>
<img alt="" src="../images/feather.gif" /></div>
<div class="up"><a href="./"><img title="&lt;-" alt="&lt;-" src="../images/left.gif" /></a></div>
<div id="path">
<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-project/">ドキュメンテーション</a> &gt; <a href="../">バージョン 2.1</a> &gt; <a href="./">モジュール</a></div>
<div id="page-content">
<div id="preamble"><h1>Apache モジュール mod_headers</h1>
<div class="toplang">
<p><span>Available Languages: </span><a href="../en/mod/mod_headers.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
<a href="../ja/mod/mod_headers.html" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/mod/mod_headers.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a></p>
</div>
<div class="outofdate">This translation may be out of date. Check the
            English version for recent changes.</div>
<table class="module"><tr><th><a href="module-dict.html#Description">説明:</a></th><td>HTTP リクエストのヘッダと応答のヘッダのカスタマイズ</td></tr>
<tr><th><a href="module-dict.html#Status">ステータス:</a></th><td>Extension</td></tr>
<tr><th><a href="module-dict.html#ModuleIdentifier">モジュール識別子:</a></th><td>headers_module</td></tr>
<tr><th><a href="module-dict.html#SourceFile">ソースファイル:</a></th><td>mod_headers.c</td></tr>
<tr><th><a href="module-dict.html#Compatibility">互換性:</a></th><td><code class="directive"><a href="#requestheader">RequestHeader</a></code> 
は Apache 2.0 以降のみで使用可能</td></tr></table>
<h3>概要</h3>

    <p>このモジュールは HTTP のリクエストヘッダと応答ヘッダを制御し、
    変更するためのディレクティブを提供します。ヘッダを追加したり、
    置き換えたり、削除したりすることができます。</p>
</div>
<div id="quickview"><h3 class="directives">ディレクティブ</h3>
<ul id="toc">
<li><img alt="" src="../images/down.gif" /> <a href="#header">Header</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#requestheader">RequestHeader</a></li>
</ul>
<h3>トピック</h3>
<ul id="topics">
<li><img alt="" src="../images/down.gif" /> <a href="#order">処理の順番</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#examples">例</a></li>
</ul></div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="order" id="order">処理の順番</a></h2>

    <p><code class="module"><a href="../mod/mod_header.html">mod_header</a></code> のディレクティブはサーバ設定のほぼどこにでも
    書くことができ、影響する範囲を<a href="../sections.html">設定用セクション</a>で囲むことで限定する
    ことができます。</p>

    <p>処理の順番は重要で、設定ファイル中の順番と、<a href="../sections.html">設定用セクション</a>内の位置との両方に
    影響されます。以下の二つのヘッダは順番が逆になると
    違う結果になります:</p>

    <div class="example"><p><code>
      RequestHeader append MirrorID "mirror 12"<br />
      RequestHeader unset MirrorID
    </code></p></div>

    <p>この順番の場合は、<code>MirrorID</code> ヘッダは設定されません。
    逆になっていると、MirrorID ヘッダは "mirror 12" に設定されます。</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="examples" id="examples">例</a></h2>

    <ol>
      <li>リクエストヘッダ中の "TS" で始まるフィールドをすべて応答ヘッダに
        コピーします:
        <div class="example"><p><code>
          Header echo ^TS
        </code></p></div>
      </li>

      <li>
        リクエストを受け付けた時刻とリクエストを処理した時間を入れたヘッダ、
        <code>MyHeader</code> を応答に追加します。このヘッダはクライアントが
        サーバの負荷を直観的に知るためや、クライアント-サーバ間の
        ボトルネックを調べるために使うことができます。

        <div class="example"><p><code>
           Header add MyHeader "%D %t"
        </code></p></div>

        <p>上記の設定では、以下のようなヘッダが応答に追加されることになります:</p>

        <div class="example"><p><code>
           MyHeader: D=3775428 t=991424704447256
        </code></p></div>
      </li>

      <li>
        Joe にあいさつをします:

        <div class="example"><p><code>
           Header add MyHeader "Hello Joe. It took %D microseconds for Apache to serve this request."
        </code></p></div>

        <p>以下のようなヘッダが応答に追加されることになります</p>

        <div class="example"><p><code>
           MyHeader: Hello Joe. It took D=3775428 microseconds for Apache to serve this request.
        </code></p></div>
      </li>

      <li>リクエストに "MyRequestHeader" があるときに限り <code>MyHeader</code> を応答に
      付けます。これは、クライアントの要求に応えてヘッダを作成するときに
      役に立ちます。この例では <code class="module"><a href="../mod/mod_setenvif.html">mod_setenvif</a></code> モジュールが必要なことに
      注意してください。

        <div class="example"><p><code>
           SetEnvIf MyRequestHeader value HAVE_MyRequestHeader<br />
           Header add MyHeader "%D %t mytext" env=HAVE_MyRequestHeader
        </code></p></div>

        <p>もし HTTP リクエストに <code>MyRequestHeader: value</code> ヘッダが
        あると、応答には以下のようなヘッダが付加されます。</p>

        <div class="example"><p><code>
           MyHeader: D=3775428 t=991424704447256 mytext
        </code></p></div>
      </li>
    </ol>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="Header" id="Header">Header</a> <a name="header" id="header">ディレクティブ</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>HTTP 応答ヘッダの設定</td></tr>
<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>Header set|append|add|unset|echo  <var>header</var>
[<var>value</var> [env=[!]<var>variable</var>]]</code></td></tr>
<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">上書き:</a></th><td>FileInfo</td></tr>
<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr>
<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_headers</td></tr>
</table>
    <p>このディレクティブは HTTP 応答ヘッダを置換、追加、削除できます。
    ヘッダはコンテントハンドラや出力フィルタが実行された直後に実行され、
    出て行くヘッダを変更することが可能になっています。
    行なう処理は最初の引数により決まります。これには以下の値を指定
    することができます:</p>

    <dl>
    <dt><code>set</code></dt>
    <dd>応答ヘッダを設定します。同じ名前のヘッダが存在する場合はそれを
    置き換えます。<em>value</em> にはフォーマット文字列を
    指定することもできます。</dd>

    <dt><code>append</code></dt>
    <dd>応答ヘッダを既に存在する同じ名前のヘッダに追加します。
    新しい値が既存のヘッダに追加されるときには、既存のヘッダの
    後にコンマで区切られて追加されます。これはヘッダに複数の値を
    指定するときの HTTP の標準の方法です。</dd>

    <dt><code>add</code></dt>
    <dd>ヘッダが既に存在しているときでさえも、応答ヘッダを
    既存のヘッダに追加します。これにより、二つ (かそれ以上) の
    ヘッダの名前が同じになることがあります。その結果、想定できない
    ことが起こる可能性がありますので、一般的には <code>append</code> の方を
    使う方が良いでしょう。</dd>

    <dt><code>unset</code></dt>
    <dd>もし指定された名前の応答ヘッダが存在していれば、削除されます。
    同じ名前のヘッダが複数あるときは、すべて削除されます。</dd>

    <dt><code>echo</code></dt>
    <dd>指定されたものと同じ名前のリクエストヘッダを応答ヘッダで
    そのまま返します。<var>header</var> には正規表現も指定できます。</dd>
    </dl>

    <p>この引数の後にはヘッダ名 (<var>header</var>) が続きます。
    ヘッダ名には最後にコロンを含めることもできますが、無くても構いません。
    <code>set</code>, <code>append</code>, <code>add</code>,
    <code>unset</code> では大文字小文字は
    区別されません。echo の <em>header</em> 名は大文字小文字を区別し、
    正規表現を指定することもできます。</p>

    <p><code>add</code>, <code>append</code>,
    <code>set</code> では <var>value</var> を三つ目の
    引数として指定します。<var>value</var> に空白がある場合は二重引用符で
    囲む必要があります。<var>value</var> は文字のみからなる文字列、
    フォーマット指示子を含む文字列、もしくは両方からなる文字列を指定できます。
    <var>value</var> は以下のフォーマット指示子をサポートします:</p>

    <table>
    <tr><td><code>%t</code></td>
        <td>リクエストを受け取った時刻を、
        Universal Coordinated Time での始まりの時刻 (Jan. 1, 1970) から経過した
        時間をマイクロ秒として現したもの。値の最初には 
        <code>t=</code> が付加されます。</td></tr>

    <tr><td><code>%D</code></td>
        <td>リクエストを受け取った時刻と、ヘッダを送り出した
        時間との差。これは、リクエストが存在していた期間を現します。
        値の最初には <code>D=</code> が付加されます。</td></tr>

    <tr><td><code>%{FOOBAR}e</code></td>
        <td><a href="../env.html">環境変数</a>
        <code>FOOBAR</code> の値です。</td></tr>
    </table>

    <p><code class="directive">Header</code> ディレクティブが
    <code>add</code>, <code>append</code>, <code>set</code> として
    使われたときには、動作を行なう条件を四つ目の引数で指定することができます。
    <code>env=...</code> 引数で指定された <a href="../env.html">環境変数</a> が存在する (もしくは <code>env=!...</code>
    が指定されていて環境変数が存在しない) 場合は、<code class="directive">Header</code>
    ディレクティブで指定された動作が行なわれます。そうでない場合は、
    ディレクティブはそのリクエストには何もしません。</p>

    <p><code class="directive">Header</code>
    ディレクティブは応答がネットワークに送られる直前に
    処理されます。これは、ヘッダフィルタにより追加されるヘッダを
    除き、ほとんどのヘッダを設定したり上書きしたりすることが
    可能、ということです。</p>

</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="RequestHeader" id="RequestHeader">RequestHeader</a> <a name="requestheader" id="requestheader">ディレクティブ</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>HTTP リクエストヘッダの設定</td></tr>
<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>RequestHeader set|append|add|unset <var>header</var>
[<var>value</var>]</code></td></tr>
<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">上書き:</a></th><td>FileInfo</td></tr>
<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr>
<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_headers</td></tr>
</table>
    <p>このディレクティブは HTTP リクエストヘッダを置換、追加、削除できます。
    ヘッダはコンテントハンドラが実行される直前に実行され、
    入って来るヘッダを変更することが可能になっています。
    行なう処理は第 1 引数により決まります。これには以下の値を指定
    することができます:</p>

    <dl>
    <dt><code>set</code></dt>
    <dd>リクエストヘッダを設定します。同じ名前のヘッダが存在していると、
    それを置き換えます。</dd>

    <dt><code>append</code></dt>
    <dd>リクエストヘッダは、既に存在する同じ名前のヘッダに追加されます。
    新しい値が既存のヘッダに追加されるときには、既存のヘッダの
    後にコンマで区切られて追加されます。これはヘッダに複数の値を
    指定するときの HTTP の標準の方法です。</dd>

    <dt><code>add</code></dt>
    <dd>ヘッダが既に存在しているときでさえも、リクエストヘッダを
    既存のヘッダに追加します。これにより、二つ (かそれ以上) の
    ヘッダの名前が同じになることがあります。その結果、想定できない
    ことが起こる可能性がありますので、一般的には <code>append</code> の方を
    使う方が良いでしょう。</dd>

    <dt><code>unset</code></dt>
    <dd>もし指定された名前のリクエストヘッダが存在していれば、削除されます。
    同じ名前の複数のヘッダがあるときは、すべて削除されます。</dd>
    </dl>

    <p>この引数の後にはヘッダ名 (<em>header</em>) が続きます。
    ヘッダ名には最後にコロンを含めることもできますが、無くても構いません。
    大文字小文字は区別されません。<code>add</code>,
    <code>append</code>, <code>set</code> の場合は、<em>value</em> が三つ目の
    引数として指定されます。<em>value</em> に空白がある場合は二重引用符で
    囲む必要があります。unset の場合は、<em>value</em> は指定しません。</p>

    <p><code class="directive">RequestHeader</code> ディレクティブは、
    fixup フェーズでリクエストがハンドラに扱われる直前に
    処理されます。これにより、ブラウザや Apache の入力フィルタにより
    生成されたヘッダを上書きしたり修正したりできるようになっています。</p>

</div>
</div>
<div class="bottomlang">
<p><span>Available Languages: </span><a href="../en/mod/mod_headers.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
<a href="../ja/mod/mod_headers.html" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/mod/mod_headers.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a></p>
</div><div id="footer">
<p class="apache">Copyright 1999-2004 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>
<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>
</body></html>