<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="412" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[412]</anchor-end> <dfn><code class="HTTP"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">301</anchor></code></dfn> (<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Moved Permanently</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:">URL</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="403" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[403]</anchor-end> <strong><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#section-6.4.2">https://tools.ietf.org/html/rfc7231#section-6.4.2</anchor-external></strong></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="302" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[302]</anchor-end> <cite xml:lang="en">RFC 7230 - Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing</cite> (<time>2014-06-07 01:59:35 +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/rfc7230#section-3.1.1">https://tools.ietf.org/html/rfc7230#section-3.1.1</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-US">Fetch Standard</cite> (<time>2015-07-07 18:54:30 +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/#concept-http-fetch">https://fetch.spec.whatwg.org/#concept-http-fetch</anchor-external></li></ul></refs></section><section><h1>意味</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="404" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[404]</anchor-end> <code class="HTTP"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">301</anchor></code> は、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">対象資源</anchor>に新しい<rubyb xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">永続的<rt xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">permanent</rt></rubyb>
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">URL</anchor> が割り当てられており、この<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">資源</anchor>に対する以後の参照には指定された <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">URL</anchor>
のいずれかを使う<rubyb xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">べき<rt xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">ought to</rt></rubyb>であることを表します <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="403" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;403</anchor-internal></src>。</p></section><section><h1>文脈</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="303" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[303]</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>を受信した時、 <code class="HTTP"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">400</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"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">301</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:"><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="302" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;302</anchor-internal></src>。</p></section><section><h1>構文</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="406" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[406]</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:">Location:</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:">URL</anchor> の好ましい <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">URL</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="403" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;403</anchor-internal></src>。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="408" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[408]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">payload</anchor> は、通常新しい <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">URL</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="403" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;403</anchor-internal></src>。</p></section><section><h1>処理モデル</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="407" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[407]</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:">Location:</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:"><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="403" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;403</anchor-internal></src>。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="405" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[405]</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:">実効要求URL</anchor>への参照をできる限り<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">鯖</anchor>が指定した新しい参照へと自動的に置き換える<rubyb xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">べき<rt xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">ought to</rt></rubyb>です
<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="403" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;403</anchor-internal></src>。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="409" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[409]</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>の際に <code class="HTTP" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">POST</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:"><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="403" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;403</anchor-internal></src>。
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Web互換性</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="2" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;2</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="410" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[410]</anchor-end> これが望ましくない時は、かわりに <code xmlns="http://www.w3.org/1999/xhtml" class="HTTP"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">307</anchor></code> を使えます <src><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="403" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;403</anchor-internal></src>。</comment-p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="411" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[411]</anchor-end> <code class="HTTP"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">301</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>です <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="403" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;403</anchor-internal></src>。</p></section><section><h1>歴史</h1><figure class="quote"><figcaption><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="401" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[401]</anchor-end> RFC 1945 (HTTP/1.0); RFC 2068・2616 (HTTP/1.1) 10.3.2 301 Moved Permanently</p></figcaption><blockquote><p>The requested resource has been assigned a new permanent <del>URL</del> <ins>URI</ins> and any future references to this resource <del>should</del> <ins>SHOULD</ins> <del><ins>{1945,2068}</ins> be done using</del> <ins><ins>{2616}</ins> use</ins> <del>that URL</del> <ins>one of the returned URIs</ins>.
Clients with link editing capabilities <del><del><ins>{1945}</ins> should</del> <ins><ins>{2068}</ins> SHOULD</ins></del> <ins><ins>{2616}</ins> ought to</ins> automatically re<ins>-</ins>link references to the Request-URI to <ins>one or more of</ins> the new reference<ins>s</ins>
returned by the server, where possible. <ins><ins>{2068,2616}</ins> This response is cach<ins>e</ins>able unless indicated otherwise.</ins></p></blockquote><p>要求された資源には新しい永続 URI が割り当てられており、
将来のこの資源への参照は全て返された URI の一つを使う<strong>べきです</strong>。
リンク編集機能のあるクライアントは、可能であれば、
<code class="ABNF"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Request-URI</anchor></code> をサーバーにより返された1つ以上の新しい参照に自動的に再リンクするべきです。
この応答は、別途指示されていない限りキャッシュ可能です。</p><blockquote><p><del><ins><ins>{2068}</ins> If the new URI is a location, its</ins> <del><ins>{1945}</ins> The new</del> URL</del> <ins><ins>{2616}</ins> The new permanent URI</ins> <del><ins>{1945,2068}</ins> must</del> <ins><ins>{2068,2616}</ins> SHOULD</ins>
be given by the Location field in the response.</p></blockquote><p>新しい永続 URI は、応答の <code class="HTTP"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Location</anchor></code>
欄で与えられる<strong>べきです</strong>。</p><blockquote><p>Unless <del>it was a HEAD request</del> <ins>the request method was HEAD</ins>, the <del>Entity-Body</del> <ins>entity</ins>
of the response <del>should</del> <ins>SHOULD</ins> contain a short <ins>hypertext</ins> note with a hyperlink to the new <del>URL</del> <ins>URI(s)</ins>.</p></blockquote><p>要求 method が <code class="HTTP">HEAD</code> でない限り、
応答の実体は新しい URI (群) へのハイパーリンクが入った短いハイパーテキストの覚書を含む<strong>べきです</strong>。</p><blockquote><p>If the 301 status code is received in response to a 
request <del><ins>{1945}</ins> using the POST method</del> <del><ins><ins>{2068,2616}</ins> other than GET or HEAD</ins></del> <ins><ins>{errata}</ins> method that is known to be &quot;safe&quot;, as defined in section 9.1.1, then the request MAY be automatically redirected by the user agent without confirmation.  Otherwise</ins>, the user agent <del>must not</del> <ins>MUST NOT</ins>
automatically redirect the request unless it can be confirmed by the user, since this might
change the conditions under which the request was issued.</p></blockquote><p>「安全」とわかっている method については、利用者エージェントは要求を確認なしに自動的に redirect しても<strong>構いません</strong>。
それ以外の場合には、
利用者エージェントは利用者が確認することなしに自動的に redirect
しては<strong>なりません</strong>。そうでないと、要求が発行された条件を変更してしまうかもしれないからです。</p><blockquote><p>Note: When automatically redirecting a POST request after receiving
a 301 status code, some existing <ins>HTTP/1.0</ins>
user agents will erroneously change it into a GET request.</p></blockquote><p>注意 : <code class="HTTP">301</code> 状態符号を受信して <code class="HTTP"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">POST</anchor></code>
要求を自動的に redirect するときに、誤って <code class="HTTP">GET</code>
要求に変えてしまう HTTP/1.0 利用者エージェントが存在します。</p><insert xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><p xmlns="http://www.w3.org/1999/xhtml">注 : 特に注記のない修正は、 RFC 1945 → RFC 2068 のもの
(削除部 = 1945, 挿入部 = 2068)。</p></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="1" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[1]</anchor-end> [Errata] <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://purl.org/NET/http-errata#saferedirect">http://purl.org/NET/http-errata#saferedirect</anchor-external></li></ul></refs><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="402" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[402]</anchor-end> <cite xml:lang="en">HTTP - WHATWG Wiki</cite>
( (<time>2013-12-19 01:12: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://wiki.whatwg.org/wiki/HTTP#Redirects">http://wiki.whatwg.org/wiki/HTTP#Redirects</anchor-external></p></section><section><h1>関連</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="413" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[413]</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>には <code class="HTTP"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">302</anchor></code>
もあります。 <code class="HTTP"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">302</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:">URL</anchor> にアクセスするべきことを意味しています。</p></section></body></html>