<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="10" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[10]</anchor-end> <dfn><code class="HTTP" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">GET</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:">HTTP</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">要求メソッド</anchor>です。</p><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> <code class="HTTP" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">GET</anchor></code> は <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP</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</anchor> によってアクセスするというとき、ほとんどの場合は
<code class="HTTP" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">GET</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:">応答</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="19" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[19]</anchor-end> <cite xml:lang="en">RFC 7231 - Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content</cite> (<time>2014-07-01 17:07:49 +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/rfc7231#page-22">https://tools.ietf.org/html/rfc7231#page-22</anchor-external><ul><li><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> <strong><cite xml:lang="en">RFC 7231 - Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content</cite> (<time>2014-06-07 01:55:45 +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/rfc7231#section-4.3.1">https://tools.ietf.org/html/rfc7231#section-4.3.1</anchor-external></strong></li><li><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> <cite xml:lang="en">RFC 7231 - Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content</cite> (<time>2014-06-07 01:55:45 +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/rfc7231#section-4.2.1">https://tools.ietf.org/html/rfc7231#section-4.2.1</anchor-external></li><li><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> <cite xml:lang="en">RFC 7231 - Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content</cite> (<time>2014-06-07 01:55:45 +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/rfc7231#section-4.2.2">https://tools.ietf.org/html/rfc7231#section-4.2.2</anchor-external></li><li><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> <cite xml:lang="en">RFC 7231 - Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content</cite> (<time>2014-06-07 01:55:45 +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/rfc7231#section-4.2.3">https://tools.ietf.org/html/rfc7231#section-4.2.3</anchor-external></li></ul></li><li><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> <cite xml:lang="en">RFC 7231 - Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content</cite> (<time>2014-08-07 05:54:02 +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/rfc7231#appendix-B">https://tools.ietf.org/html/rfc7231#appendix-B</anchor-external></li><li><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> <cite xml:lang="en">RFC 1945 - Hypertext Transfer Protocol -- HTTP/1.0</cite> (<time>2014-09-07 13:12:32 +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/rfc1945#section-4.1">http://tools.ietf.org/html/rfc1945#section-4.1</anchor-external></li><li><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> <cite xml:lang="en">RFC 4918 - HTTP Extensions for Web Distributed Authoring and Versioning (WebDAV)</cite> (<time>2014-09-21 17:04: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="http://tools.ietf.org/html/rfc4918#section-9.4">http://tools.ietf.org/html/rfc4918#section-9.4</anchor-external></li><li><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> <cite xml:lang="en">RFC 3875 - The Common Gateway Interface (CGI) Version 1.1</cite> (<time>2011-11-20 06:09: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="http://tools.ietf.org/html/rfc3875#section-4.3.1">http://tools.ietf.org/html/rfc3875#section-4.3.1</anchor-external></li><li><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">RFC 7252 - The Constrained Application Protocol (CoAP)</cite>
( (<time>2014-06-27 00:59: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="http://tools.ietf.org/html/rfc7252#section-5.8.1">http://tools.ietf.org/html/rfc7252#section-5.8.1</anchor-external></li><li><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="en-US">XMLHttpRequest Standard</cite> (<time>2015-01-14 22:14:17 +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://xhr.spec.whatwg.org/#dom-xmlhttprequest-send">https://xhr.spec.whatwg.org/#dom-xmlhttprequest-send</anchor-external></li><li><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-US">Fetch Standard</cite> (<time>2015-02-19 19:33:04 +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://fetch.spec.whatwg.org/#dom-request">https://fetch.spec.whatwg.org/#dom-request</anchor-external></li></ul></refs></section><section><h1>意味</h1><p><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> <code class="HTTP" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">GET</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:">対象資源</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="9" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;9</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" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Range:</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:">要求</anchor>に含めることで、
<code class="HTTP" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">GET</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:">範囲要求</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="9" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;9</anchor-internal></src>。</p></section><section><h1>構文</h1><p><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> <code class="HTTP" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">GET</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:">payload</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="9" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;9</anchor-internal></src>。</p><p><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> <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="9" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;9</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="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>に依存しない<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><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="24" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;24</anchor-internal></src> とされています。しかし <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC 2616</anchor> のどこでそのような制限が規定されていたのか不明です。</comment-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> <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">XMLHttpRequest</anchor></code> および <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Request</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:">payload body</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="33" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;33</anchor-internal>, <anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="34" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;34</anchor-internal></src>。</p><p><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> 一般的には <code class="HTTP" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">GET</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:">payload body</anchor>
の指定は使われておらず、<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="30" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;30</anchor-internal>) もあります。
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">相互運用性</anchor>のためには <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">payload body</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="32" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[32]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP</anchor> 仕様も明示的に禁止すれば良いものを、なぜ敢えて「undefined」
のような曖昧な状態にするのでしょうね。仕様が曖昧で<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">相互運用性</anchor>の問題を放置するなら、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">標準化</anchor>の意義は一体何なのでしょうか。</comment-p></section><section><h1>文脈</h1><p><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> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP/0.9</anchor> では <code class="HTTP" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">GET</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="26" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;26</anchor-internal></src>。</p></section><section><h1>性質</h1><p><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> 一般目的の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP</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:">GET</anchor></code>
を実装しなければ<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="19" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;19</anchor-internal></src>。</p><p><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> <code class="HTTP" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">GET</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="3" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;3</anchor-internal></src> で、
<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="5" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;5</anchor-internal></src>。</p><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="HTTP" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">GET</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="6" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;6</anchor-internal>, <anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="9" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;9</anchor-internal></src>。
<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> によって別途指定がない限り、
<code class="HTTP" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">GET</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:">応答</anchor>を以後の <code class="HTTP" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">GET</anchor></code>
や <code class="HTTP" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HEAD</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="9" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;9</anchor-internal></src>。</p><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:">POST</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:">GET</anchor></code>
<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:"><code xmlns="http://www.w3.org/1999/xhtml" class="HTTP" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">POST</anchor></code> の項を参照してください。</comment-p><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="HTTP" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HEAD</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:">HEAD</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:">キャッシュ</anchor>が影響されることがあります。</p></section><section><h1>処理</h1><p><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> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">WebDAV</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:">GET</anchor></code> では、
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">WebDAV</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="28" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;28</anchor-internal></src>。</p></section><section><h1>歴史</h1><figure class="quote"><figcaption><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> RFC 1945 (HTTP/1.0) 8.1; RFC 2068・2616 (HTTP/1.1) 9.3 GET</figcaption><blockquote><p>The GET method means retrieve whatever information (in the form of an
entity) is identified by the Request-URI. If the Request-URI refers
to a data-producing process, it is the produced data which shall be
returned as the entity in the response and not the source text of the
process, unless that text happens to be the output of the process.</p></blockquote><p><code class="HTTP">GET</code> 方式は、 <code class="ABNF"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Request-URI</anchor></code> でどんな
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">実体</anchor>の形の) 情報が識別されるのであれ、それを取り出すことを意味します。
<code class="ABNF">Request-URI</code> がデータ生成過程を指しているのであれば、
応答で実体として返されるものは生成されたデータであって、
その過程の原始文ではありません。
(その原始文が過程の出力であったりする場合を除いて。)</p><blockquote><p>The semantics of the GET method change<del>s</del>
to a &quot;conditional GET&quot; if the request message includes an If-Modified-Since<ins>, If-Unmodified-Since, If-Match, If-None-Match, or If-Range</ins> header field.
A conditional GET method requests that the <del>identified resource</del> <ins>entity</ins> be transferred only <del>if it has been modified since the date given by the If-Modified-Since header, as described in Section 10.9</del> <ins>under the circumstances described by the conditional header field(s)</ins>.
The conditional GET method is intended to reduce <ins>unnecessary</ins>
network usage by allowing cached entities to be refreshed without requiring multiple requests or transferring <del>unnecessary data</del> <ins>data already held by the client</ins>.</p></blockquote><p><code class="HTTP">GET</code> 方式の意味は、要求メッセージが
<code class="HTTP"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">If-Modified-Since</anchor></code>, <code class="HTTP"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">If-Unmodified-Since</anchor></code>,
<code class="HTTP"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">If-Match</anchor></code>, <code class="HTTP"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">If-None-Match</anchor></code>,
あるいは <code class="HTTP"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">If-Range</anchor></code> 頭欄を含んでいるときは
「条件付 <code class="HTTP">GET</code>」に変わります。
条件付 <code class="HTTP">GET</code> 方式は、実体が<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">条件頭欄</anchor>(群)で説明される状況にあるときにのみ実体を転送することを要求します。
条件付 <code class="HTTP">GET</code> 方式は、キャッシュされた実態を複数の要求を必要としたり既にクライアントが持っているデータを転送したりせずに更新することを可能とし、
不必要なネットワーク使用を削減することを意図したものです。</p><insert xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><blockquote xmlns="http://www.w3.org/1999/xhtml"><p>The semantics of the GET method change to a &quot;partial GET&quot; if the
request message includes a Range header field. A partial GET requests
that only part of the entity be transferred, as described in section <del>14.36</del> <ins>14.35</ins>. The partial GET method is intended to reduce unnecessary
network usage by allowing partially-retrieved entities to be
completed without transferring data already held by the client.</p></blockquote><p xmlns="http://www.w3.org/1999/xhtml">要求メッセージが <code class="HTTP"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Range</anchor></code> 頭欄を含んでいる時、
<code class="HTTP">GET</code> 方式の意味は「部分 <code class="HTTP">GET</code>」
に変わります。
部分 <code class="HTTP">GET</code> 要求は、実体の一部のみを転送します。
部分 <code class="HTTP">GET</code> 方式は、部分的に取り出した実体を、クライアントが既に持っているデータを転送せずに完全にすることを可能とし、不必要なネットワーク使用を削減することを意図しています。</p><blockquote xmlns="http://www.w3.org/1999/xhtml"><p>The response to a GET request is cach<ins>e</ins>able if and only if it meets the
requirements for HTTP caching described in section 13.</p></blockquote><p xmlns="http://www.w3.org/1999/xhtml"><code class="HTTP">GET</code> 要求への応答は、13章で説明している <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP</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>です。</p><insert><blockquote xmlns="http://www.w3.org/1999/xhtml"><p>See section 15.1.3 for security considerations when used for forms.</p></blockquote><p xmlns="http://www.w3.org/1999/xhtml"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">フォーム</anchor>での使用時の安全性についての考察 15.1.3節をご覧あれ。</p></insert></insert></figure><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="25" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[25]</anchor-end> <cite xml:lang="en">RFC 2324 - Hyper Text Coffee Pot Control Protocol (HTCPCP/1.0)</cite> (<time>2014-10-06 15:21:16 +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/rfc2324#section-2.1.2">http://tools.ietf.org/html/rfc2324#section-2.1.2</anchor-external></li></ul></refs><figure class="quote"><figcaption><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> RFC 2324 (HTCPCP/1.0) 2.1.2 GET method</figcaption><blockquote><p>In HTTP, the GET method is used to mean &quot;retrieve whatever
information (in the form of an entity) identified by the Request-URI.&quot; If the Request-URI refers to a data-producing process, it is
the produced data which shall be returned as the entity in the
response and not the source text of the process, unless that text
happens to be the output of the process.</p></blockquote><p>HTTP では、 <code class="HTTP">GET</code> method
は「(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">実体</anchor>の形で) <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Request-URI</anchor> 
で識別される何かの情報を取り出す」ことを意味するのに使っています。
Request-URI がデータ生産過程を参照しているなら、
応答で実体として返されるのは処理したデータであって、
(処理の原始文が処理の出力でない限り) 
処理の原始文ではありません。</p><blockquote><p>In HTCPCP, the resources associated with a coffee pot are physical,
and not information resources. The &quot;data&quot; for most coffee URIs
contain no caffeine.</p></blockquote><p>HTCPCP では、珈琲ポットと関連付けられた資源は物理的存在であり、
情報資源ではありません。
ほとんどの珈琲 URI の「データ」はカフェインを含みません。</p></figure><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="36" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[36]</anchor-end> <cite xml:lang="en">Disallow body when method is GET or HEAD for now https://www.w3.org/Bugs... · 3d9655c · whatwg/fetch</cite> (<time>2015-02-24 00:24: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="https://github.com/whatwg/fetch/commit/3d9655c4024e67fe4e20e8812e96e8ffa2b3cc0d">https://github.com/whatwg/fetch/commit/3d9655c4024e67fe4e20e8812e96e8ffa2b3cc0d</anchor-external></li></ul></refs></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> <code class="HTTP" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HEAD</anchor></code> は、 <code class="HTTP" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">GET</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:">ヘッダー</anchor>部分のみの転送を要求するものです。</p></section><section><h1>メモ</h1><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>
<code class="HTTP" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">GET</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:">要求メッセージ</anchor>に含めることはできます。
が、世間からは忘れ去られているのでしょうか。。。</p><figure class="quote"><figcaption><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> <cite>Request Body Search</cite>
(<time>2015-02-21 09:03:23 +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.elasticsearch.org/guide/en/elasticsearch/reference/current/search-request-body.html">http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/search-request-body.html</anchor-external></figcaption><blockquote><p>Both HTTP GET and HTTP POST can be used to execute search with body. Since not all clients support GET with body, POST is allowed as well.</p></blockquote></figure><figure class="quote"><figcaption><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="37" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[37]</anchor-end> <cite xml:lang="en-GB-x-hixie">HTML Standard</cite>
(<time>2015-03-05 09:33:40 +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/#concept-http-equivalent-get">https://html.spec.whatwg.org/#concept-http-equivalent-get</anchor-external></figcaption><blockquote><p>The HTTP GET method is equivalent to the default retrieval action of the protocol. For example, RETR in FTP. Such actions are idempotent and safe, in HTTP terms.</p></blockquote></figure><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="38" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[38]</anchor-end> <cite xml:lang="en">Fix #44 in a better way. (Avoid &quot;extracting&quot; undefined.) · whatwg/fetch@b33de72</cite>
(<time>2015-04-15 23:07:22 +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/whatwg/fetch/commit/b33de725823d1a2ab99708b717e83112e4ebeb6b">https://github.com/whatwg/fetch/commit/b33de725823d1a2ab99708b717e83112e4ebeb6b</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="39" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[39]</anchor-end> <cite xml:lang="en">Also throw when new Request() is passed a Request instance with a non-nu... · whatwg/fetch@5be0642</cite>
(<time>2015-04-15 23:07:42 +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/whatwg/fetch/commit/5be0642d1ad5b93ed8467ea9acc28f5786981599">https://github.com/whatwg/fetch/commit/5be0642d1ad5b93ed8467ea9acc28f5786981599</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="40" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[40]</anchor-end> <cite xml:lang="en">RFC 3253 - Versioning Extensions to WebDAV (Web Distributed Authoring and Versioning)</cite>
(<time>2017-09-17 18:19:04 +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/rfc3253#section-8.5">https://tools.ietf.org/html/rfc3253#section-8.5</anchor-external></p></section></body></html>