<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="1" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[1]</anchor-end> <dfn><code class="HTTP" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Pragma:</anchor></code></dfn> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ヘッダー</anchor>は、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">キャッシュ</anchor>に関する指示を記述するものでした。 <code class="HTTP" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Cache-Control:</anchor></code>
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ヘッダー</anchor>の導入以前に使われていました。</p><section><h1>仕様書</h1><refs xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><ul xmlns="http://www.w3.org/1999/xhtml"><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="14" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[14]</anchor-end> <strong><cite xml:lang="en">RFC 7234 - Hypertext Transfer Protocol (HTTP/1.1): Caching</cite> (<time>2014-09-11 10:19:59 +09:00</time> 版) <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://tools.ietf.org/html/rfc7234#section-5.4">https://tools.ietf.org/html/rfc7234#section-5.4</anchor-external></strong></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="31" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[31]</anchor-end> <cite xml:lang="en-GB-x-hixie">HTML Standard</cite> (<time>2014-12-04 10:25:09 +09:00</time> 版) <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://html.spec.whatwg.org/#processing-model-10:http-cache-control">https://html.spec.whatwg.org/#processing-model-10:http-cache-control</anchor-external></li></ul></refs></section><section><h1>意味</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="16" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[16]</anchor-end> <code class="HTTP" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Pragma:</anchor></code> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ヘッダー</anchor>は、 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP/1.0</anchor>
時代に<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">受信者</anchor>に対する<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">実装規定</anchor>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">指令</anchor>を記述するためのものとして導入されました。
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP/1.1</anchor> 時代になって<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">相互運用性</anchor>を損ねるものとして<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">非推奨</anchor>とされています。 <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="14" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;14</anchor-internal></src></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="17" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[17]</anchor-end> 現在は <code class="HTTP" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Pragma:</anchor></code> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ヘッダー</anchor>は
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP/1.0</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">キャッシュ</anchor>との<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">後方互換性</anchor>のために
<code class="HTTP" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">no-cache</anchor></code> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">指令</anchor>を記述するためのものとされています <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="14" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;14</anchor-internal></src>。</p></section><section><h1>構文</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="21" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[21]</anchor-end> <code class="HTTP" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Pragma:</anchor></code> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ヘッダー</anchor>の値は、1つ以上の
<code class="ABNF" xml:lang="en">pragma-directive</code> の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">リスト</anchor> (<code class="HTTP">#</code>) です <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="14" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;14</anchor-internal></src>。</p><figure class="railroad"><ol><li><code class="ABNF" xml:lang="en">pragma-directive</code></li><li>*<ol><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">OWS</anchor></li><li><code class="HTTP"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">,</anchor></code></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">OWS</anchor></li><li><code class="ABNF" xml:lang="en">pragma-directive</code></li></ol></li></ol></figure><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="22" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[22]</anchor-end> <code class="ABNF" xml:lang="en">pragma-directive</code> は、名前と値を <code class="HTTP"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">=</anchor></code>
で連結したものです。ただし <code class="HTTP">=</code> と値は省略できます。 <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="14" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;14</anchor-internal></src></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="23" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[23]</anchor-end> 名前は<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">字句</anchor>です <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="14" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;14</anchor-internal></src>。<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">大文字・小文字不区別</anchor>です。</p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="28" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[28]</anchor-end> 仕様上は <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ABNF</anchor> により <code xmlns="http://www.w3.org/1999/xhtml" class="HTTP" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">no-cache</anchor></code> が<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">大文字・小文字不区別</anchor>と明確になっていますが、それ以外がそうなのかどうかは明言されていません。</comment-p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="24" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[24]</anchor-end> 値は<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">字句</anchor>または<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">引用文字列</anchor>です。 <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="14" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;14</anchor-internal></src></p><figure class="railroad"><ol><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">字句</anchor></li><li>?<ol><li><code class="HTTP"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">=</anchor></code></li><li>|<ol><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">字句</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">引用文字列</anchor></li></ol></li></ol></li></ol></figure><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="26" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[26]</anchor-end> 値の有無やその解釈は <code class="ABNF" xml:lang="en">pragma-directive</code> によって異なります。</p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="25" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[25]</anchor-end> <code xmlns="http://www.w3.org/1999/xhtml" class="HTTP"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">=</anchor></code> の前後に <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">BWS</anchor> は無いようです。</comment-p></section><section><h1>文脈</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="18" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[18]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">クライアント</anchor>は、 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP/1.0</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">キャッシュ</anchor>との<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">後方互換性</anchor>のために必要なら
<code class="HTTP" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Pragma:</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">no-cache</anchor></code> を指定できます <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="14" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;14</anchor-internal></src>。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="13" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[13]</anchor-end> 明記されていませんが、 <code class="HTTP"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">304</anchor></code> でも使って良いと推測されます。</p></section><section><h1>処理</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="19" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[19]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">要求</anchor>に <code class="HTTP" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Cache-Control:</anchor></code> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ヘッダー</anchor>が含まれる場合、
<code class="HTTP" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Pragma:</anchor></code> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ヘッダー</anchor>は無視されます <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="14" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;14</anchor-internal></src>。</p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="20" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[20]</anchor-end> <code xmlns="http://www.w3.org/1999/xhtml" class="HTTP" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Cache-Control:</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">no-cache</anchor></code> が含まれなくても、
<code xmlns="http://www.w3.org/1999/xhtml" class="HTTP" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Cache-Control:</anchor></code> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ヘッダー</anchor>があれば無視されるようです。</comment-p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="30" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[30]</anchor-end> <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">EventSource</anchor></code> のための <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">fetch</anchor> では、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">応答</anchor>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">キャッシュ</anchor>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ヘッダー</anchor>は無視する<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">べき</strong></anchor>で、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">キャッシュ</anchor>を使う<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">べきではありません</strong></anchor> <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="31" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;31</anchor-internal></src>。</p></section><section><h1><code class="ABNF" xml:lang="en">pragma-directive</code></h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="7" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[7]</anchor-end> <code class="ABNF" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">pragma-directive</anchor></code> としては次のものがあります。<figure class="short list"><ul><li><code class="HTTP" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">no-cache</anchor></code></li><li><code class="HTTP" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">for</anchor></code></li></ul></figure></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="2" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[2]</anchor-end> この他 <anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="305" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;305</anchor-internal> で多くの値が規定されています。</p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="27" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[27]</anchor-end> <code xmlns="http://www.w3.org/1999/xhtml" class="HTTP" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">no-cache</anchor></code> 以外は<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">非推奨</anchor>とされているようですが (<anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="16" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;16</anchor-internal>)、
他の値も特に禁止はされていません。</comment-p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="3" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[3]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">指令</anchor>の一覧は <anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="29" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;29</anchor-internal> の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">JSON</anchor> ファイルにも含まれています。<refs xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><ul xmlns="http://www.w3.org/1999/xhtml"><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="29" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[29]</anchor-end> <cite xml:lang="en">data-web-defs/headers.txt at master · manakai/data-web-defs</cite> (<time>2014-10-09 14:33:34 +09:00</time> 版) <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://github.com/manakai/data-web-defs/blob/master/doc/headers.txt">https://github.com/manakai/data-web-defs/blob/master/doc/headers.txt</anchor-external></li></ul></refs></p></section><section><h1>歴史</h1><ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="4" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[4]</anchor-end> <em>CMU School of Computer Science</em> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://www-2.cs.cmu.edu/webhelp/for-protocol.html">http://www-2.cs.cmu.edu/webhelp/for-protocol.html</anchor-external> (1996年) は <code class="HTTP"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">for</anchor></code> 引数を提案しています。要求では <code class="HTTP">Pragma: for=anyone</code> または <code class="HTTP">Pragma: for=fqdn.example</code>, 応答ではこれに加えて <code class="HTTP">Pragma: for=request</code> が使えます。複数可。実体の対象利用者を表すものみたいです。<weak xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">実用になるのか怪しいですし、結局標準化されずじまい。歴史的なものですね。</weak> 提案者のところのサーバーで実装していたみたいですが、今そのサーバーは普通の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Apache</anchor> みたいです。</li></ul><refs xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><ul xmlns="http://www.w3.org/1999/xhtml"><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="11" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[11]</anchor-end> <cite>Request Headers in the HTTP protocol</cite>
( (<time>2001-11-29 11:01:38 +09:00</time> 版))
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://www.w3.org/Protocols/HTTP/HTRQ_Headers.html#pragma">http://www.w3.org/Protocols/HTTP/HTRQ_Headers.html#pragma</anchor-external></li></ul></refs><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="5" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[5]</anchor-end> <anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="11" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;11</anchor-internal> は <code class="HTTP">no-cache</code> を RFC 1945 と同じ意味で定義しています。それだけ。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="6" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[6]</anchor-end> <anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="11" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;11</anchor-internal> は、構文を自然言語で <code class="ABNF"><dfn>Pragma</dfn> := #(token *(&quot;;&quot; parameter))</code> と定義していました。</p><figure class="quote"><figcaption><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="15" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[15]</anchor-end> RFC 1945 (HTTP/1.0) 10.12; RFC 2068・2616 (HTTP/1.1) 14.32 Pragma</figcaption><blockquote><p>The Pragma general-header field is used to include implementation-specific directives that <del>may</del> <ins><ins>{2616}</ins> might</ins> apply to any recipient along the
request/response chain. All pragma directives specify optional
behavior from the viewpoint of the protocol; however, some systems <del>may</del> <ins>MAY</ins> require that behavior be consistent with the directives.</p></blockquote><p><code class="HTTP">Pragma</code> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">一般頭欄</anchor>は、要求・応答鎖沿いの任意の受信者に適用するかもしれない実装規定の指令を含めるのに使います。
すべての語用指令は、プロトコルの見地からの任意選択の動作を指定します。
しかし、システムによってはその動作が指令と一貫していることを要求しても<strong>構いません</strong>。</p><blockquote><ul><li>Pragma            = &quot;Pragma&quot; &quot;:&quot; 1#pragma-directive</li></ul><ul><li>pragma-directive  = &quot;no-cache&quot; | extension-pragma</li><li><del>extension-pragma = token [ &quot;=&quot; word ] </del></li><li><ins>extension-pragma  = token [ &quot;=&quot; ( token | quoted-string ) ] </ins></li></ul></blockquote><blockquote><p>When the <del>&quot;</del>no-cache<del>&quot;</del> directive is present in a request message, an
application <del>should</del> <ins>SHOULD</ins> forward the request toward the origin server even
if it has a cached copy of what is being requested. <del>This allows a client to insist upon receiving an authoritative response to its request. It also allows a client to refresh a cached copy which is known to be corrupted or stale.</del> <ins>This pragma directive has the same semantics as the no-cache cache-directive (see section 14.9) and is defined here for backward<del>s</del> compatibility with HTTP/1.0.  Clients SHOULD include both header fields when a no-cache request is sent to a server not known to be HTTP/1.1 compliant.</ins></p></blockquote><p><code class="HTTP">no-cache</code> 指令が要求メッセージに示されている時は、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">応用</anchor>は、たとえ要求されているもののキャッシュした複製を持っていたとしても、
その要求を<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">起源サーバー</anchor>に転送する<strong>べきです</strong>。<del>これによってクライアントはその要求に対する本家応答を受取ることを主張できます。クライアントが破壊されているまたは<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">腐敗</anchor>していると知っているキャッシュされた複製を更新することも可能になります。</del> <ins>この語用指令は、 <code class="HTTP">no-cache</code> <code class="ABNF"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">cache-directive</anchor></code> と同じ意味を持ちまして、ここでは HTTP/1.0 との<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">後方互換性</anchor>のために定義します。クライアントは、 <code class="HTTP">no-cache</code> 要求を HTTP/1.1 に従っていると分かっていないサーバーに送るときは両方の頭欄を含める<strong>べきです</strong>。</ins></p><blockquote><p>Pragma directives <del>must</del> <ins>MUST</ins> be passed through by a proxy or gateway
application, regardless of their significance to that application,
since the directives <del>may</del> <ins>might <ins>{2616}</ins></ins> be applicable to all recipients along the
request/response chain. It is not possible to specify a pragma for a
specific recipient; however, any pragma directive not relevant to a
recipient <del>should</del> <ins>SHOULD</ins> be ignored by that recipient.</p></blockquote><p><code class="HTTP">Pragma</code> 指令を、串や関門の応用は、その応用での重要度に拘らず、
次に渡さなければ<strong>なりません</strong>。なぜなら、指令は要求・応答鎖沿いのすべての受信者に適用可能かもしれないからです。
特定の受信者に語用を指定することはできません。しかし、受信者に関係のない語用指令はその受信者では無視する<strong>べきです</strong>。</p><insert xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><blockquote xmlns="http://www.w3.org/1999/xhtml"><p><del>HTTP/1.1 clients SHOULD NOT send the Pragma request-header.</del> HTTP/1.1
caches SHOULD treat &quot;Pragma: no-cache&quot; as if the client had sent
&quot;Cache-Control: no-cache&quot;. No new Pragma directives will be defined
in HTTP.</p></blockquote><p xmlns="http://www.w3.org/1999/xhtml">;<del>HTTP/1.1 クライアントは <code class="HTTP">Pragma</code> 要求頭を送る<strong>べきではありません</strong>。</del>
HTTP/1.1 キャッシュは <code class="HTTP">Pragma: no-cache</code> をクライアントが
<code class="HTTP"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Cache-Control</anchor>: no-cache</code> を送ったのであるとして扱う<strong>べきです</strong>。
新しい <code class="HTTP">Pragma</code> 指令は HTTP では定義されません。</p><insert><blockquote xmlns="http://www.w3.org/1999/xhtml"><p>Note: because the meaning of &quot;Pragma: no-cache as a response
header field is not actually specified, it does not provide a
reliable replacement for &quot;Cache-Control: no-cache&quot; in a response <ins>(ママ)</ins></p></blockquote><p xmlns="http://www.w3.org/1999/xhtml">注意: 応答頭欄としての <code class="HTTP">Pragma: no-cache</code> の意味は実際には規定されていませんから、
応答中での <code class="HTTP">Cache-Control: no-cache</code> の信頼できる置換は提供されません。</p></insert></insert><insert xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><p xmlns="http://www.w3.org/1999/xhtml">注: 注記のない修正部は RFC 1945→2068 の変更点。</p></insert></figure><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="12" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[12]</anchor-end> <cite xml:lang="en">RFC 3507 - Internet Content Adaptation Protocol (ICAP)</cite>
( (<time>2014-06-08 07:17:07 +09:00</time> 版))
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://tools.ietf.org/html/rfc3507#section-4.3.1">http://tools.ietf.org/html/rfc3507#section-4.3.1</anchor-external></p></section><section><h1>統計</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="8" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[8]</anchor-end> <cite xml:lang="en">HTTP/1.1 Pragma header</cite> (<time>2009-07-19 11:31:44 +09:00</time> 版) <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://www.http-stats.com/Pragma">http://www.http-stats.com/Pragma</anchor-external></p></section><section><h1>例</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="9" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[9]</anchor-end> <anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="8" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;8</anchor-internal> より</p><blockquote><pre>    * Pragma: no-cache
    * Pragma: no-cache, xResetStrm=1
    * Pragma: No-cache
    * Pragma: cache
    * Pragma: No-Cache
    * Pragma: private
    * Pragma: public
    * Pragma: no-store
    * Pragma: no-store, no-cache, must-revalidate
    * Pragma: no cache
    * Pragma: NO-CACHE
    * Pragma: Private
    * Pragma: no-cache, no-cache
    * Pragma: no-cash
    * Pragma: no-chache
    * Pragma: no-store,no-cache
    * Pragma: no_cache
    * Pragma: nocache</pre></blockquote><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="10" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[10]</anchor-end> <pre class="HTTP example code">Pragma: no-cache,rate=1.000000,stream-time=0,stream-offset=0:0,request-context=1,max-duration=0
Pragma: xClientGUID={baadc101-8645-d5a3-9571d14a66ea2b8f}</pre></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="305" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[305]</anchor-end> <cite xml:lang="en">2.2.1.4 Pragma</cite>
( (<time>2014-10-09 13:56:33 +09:00</time> 版))
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://msdn.microsoft.com/en-us/library/cc251236.aspx">http://msdn.microsoft.com/en-us/library/cc251236.aspx</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="306" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[306]</anchor-end> <cite>Request Headers in the HTTP protocol</cite>
( (<time>2001-11-29 20:01:38 +09:00</time> 版))
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://www.w3.org/Protocols/HTTP/HTRQ_Headers.html#pragma">http://www.w3.org/Protocols/HTTP/HTRQ_Headers.html#pragma</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="307" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[307]</anchor-end> <cite xml:lang="en">The Performance Impact of META REFRESH - IEInternals - Site Home - MSDN Blogs</cite>
( (<time>2014-12-11 17:52:27 +09:00</time> 版))
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://blogs.msdn.com/b/ieinternals/archive/2010/05/13/meta-refresh-causes-additional-http-requests.aspx">http://blogs.msdn.com/b/ieinternals/archive/2010/05/13/meta-refresh-causes-additional-http-requests.aspx</anchor-external></p><figure class="quote"><figcaption><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="32" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[32]</anchor-end> <cite xml:lang="ja">Using Akamai Pragma headers to investigate or t... | Akamai Community</cite>
( (<time>2017-06-23 12:04:19 +09:00</time>))
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://community.akamai.com/community/web-performance/blog/2015/03/31/using-akamai-pragma-headers-to-investigate-or-troubleshoot-akamai-content-delivery">https://community.akamai.com/community/web-performance/blog/2015/03/31/using-akamai-pragma-headers-to-investigate-or-troubleshoot-akamai-content-delivery</anchor-external></figcaption><blockquote><p>Pragma: akamai-x-cache-on, akamai-x-cache-remote-on, akamai-x-check-cacheable, akamai-x-get-cache-key, akamai-x-get-ssl-client-session-id, akamai-x-get-true-cache-key, akamai-x-get-request-id</p></blockquote></figure><figure class="quote"><figcaption><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="33" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[33]</anchor-end> <cite xml:lang="ja">Knowledge Base #7693 - Akamai Pragmaヘッダーをリクエストに... | Akamai Community</cite>
( (<time>2017-06-23 12:05:05 +09:00</time>))
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://community.akamai.com/docs/DOC-6369">https://community.akamai.com/docs/DOC-6369</anchor-external></figcaption><blockquote><p>akamai-x-cache-on, akamai-x-cache-remote-on, akamai-x-check-cacheable, akamai-x-get-cache-key, akamai-x-get-extracted-values, akamai-x-get-nonces, akamai-x-get-ssl-client-session-id, akamai-x-get-true-cache-key, akamai-x-serial-no, akamai-x-get-request-id, akamai-x-request-trace, akamai-x--meta-trace, akama-xi-get-extracted-values</p></blockquote></figure><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="34" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[34]</anchor-end> <cite xml:lang="en">Pragma · Issue #140 · httpwg/http-core</cite>
(<time>2019-06-27 14:24:37 +09:00</time>)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://github.com/httpwg/http-core/issues/140">https://github.com/httpwg/http-core/issues/140</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="35" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[35]</anchor-end> <cite xml:lang="en">Deprecate Pragma by mnot · Pull Request #174 · httpwg/http-core</cite>
(<time>2019-06-27 14:24:44 +09:00</time>)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://github.com/httpwg/http-core/pull/174">https://github.com/httpwg/http-core/pull/174</anchor-external></p></section></body></html>