307リダイレクト
別のページに転送するよ
「リクエストメソッドを維持して転送しま~す」なときに使うよ
ホームページ関連の話で出てくるよ
簡単に書くよ
307リダイレクト(英:307 redirect)とは
ホームページの転送(HTTPリダイレクト)の種類のひとつ
であり
「リクエストメソッド
(「このページをおくれ」のお願いの仕方)を維持して転送しま~す」なときに使うやつ
です。
詳しく書くよ
順番に見ていきましょう。
まずは予備知識として
・Webページ
・Webサイト(ホームページ)
・URL
・HTTP
・リダイレクト
・HTTPリダイレクト
・HTTPリクエストメソッド
について説明します。
「そんなの説明されなくても知ってるよ!」な人は適当に読み飛ばしてください。
Webページは「インターネットの世界で見られる文書ファイル」です。
ホームページを見るときに使うソフト(Webブラウザ)で見られます。
インターネットの世界に転がっているファイルです。
Webサイトは「Webページが集まったもの」です。
「ホームページ」と呼ばれる場合も あります。
WebページとWebサイトの関係は、本を想像するとイメージしやすいと思います。
本のページ1ページがWebページです。
本のページが集まったもの、1冊の本に相当するのがWebサイトです。
URLは「ホームページの住所」です。
ホームページの置いてある場所とかファイル名とかを示す情報です。
例えば
http://wa3.i-3-i.info/extension/index.html
というURLが あったとしましょう。
このURLは
「wa3.i-3-i.info」という名前のコンピュータの中にある「extension」という名前のディレクトリの中にある「index.html」という名前のファイル
を意味します。
HTTPは「ホームページのファイルを受け渡しするときに使う お約束事」です。
よく分からない人は「インターネットをするときに使う お約束事」と解釈しても かまいません。
あなたがホームページを見るとき、まず、Webブラウザがホームページのファイルが置いてあるコンピュータ(Webサーバ)に「このページをおくれ」と お願いを出します。
そのお願いに対して、WebサーバさんからWebブラウザさんに「ほれ、そのページだよ」と お返事がきます。
お返事を受け取ったWebブラウザさんは、受け取ったページを画面上に表示します。
これがホームページを見るときの流れです。
この流れにおける「このページをおくれ」「ほれ、そのページだよ」のやり取りで使う お約束事がHTTPです。
リダイレクトは「出力先を本来のものと変えてやること」です。
今回は「転送」と解釈してください。
あっちから来たものを、こっちにぶん投げる行為です。
HTTPリダイレクトは「URLで指定されたページとは別のページに転送すること」です。
例えば、そうですね。
気が向いた方は
https://wa3.i-3-i.info/i.html
にアクセスしてみてください。
そうすると実際に表示されるページは、URLが
https://wa3.i-3-i.info
になっているはずです。
これは私が「『https://wa3.i-3-i.info/i.html』を指定されたら『https://wa3.i-3-i.info』にHTTPリダイレクトしてよ」な設定をしているからです。
「https://wa3.i-3-i.info/i.html」を表示しようとすると「https://wa3.i-3-i.info/i.html」から「https://wa3.i-3-i.info」へ転送されます。
よく分からない人は郵便局のサービスを思い浮かべてください。
郵便局には、旧住所あての郵便物を新住所に転送してくれるサービスがありますよね。
あれのホームページ版がHTTPリダイレクトです。
HTTPリクエストメソッドは「WebブラウザからWebサーバに対して出されるお願いの種類」です。
ホームページが表示される流れにおいて、WebブラウザさんからWebサーバさんに対して「このページをおくれ」な お願いが出されました。
話を単純化するために「このページをおくれ」な お願いとしましたが、実は お願いの種類は1つでは ありません。
いろいろ、あります。
「このページをおくれ」以外にも「このデータをくれてやるよ」や「このデータを消しちゃってよ」など、いろいろあるのです。
このWebブラウザさんからWebサーバさんに対する「お願いの種類」を専門用語で「HTTPリクエストメソッド」と言います。
HTTPリクエストメソッドは、いろいろ あります。
有名どころは「GET」とか「POST」ですね。
以上を踏まえて
HTTPリクエストメソッドを維持して転送されるHTTPリダイレクト
が「307リダイレクト」です。
POSTメソッドでアクセス
↓
リダイレクト
↓
POSTメソッドでアクセス
↓
ページ表示
みたいな流れになります。
少し話が逸れますが、HTTPリダイレクトには「303リダイレクト」というのがあります。
303リダイレクトは「GETメソッドに変換されるHTTPリダイレクト」です。
303リダイレクトすると
POSTメソッドでアクセス
↓
リダイレクト
↓
GETメソッドでアクセス
↓
ページ表示
みたいな流れになります。
並べるとイメージしやすいかもしれませんね。
303リダイレクト:GETメソッドに変更してリダイレクト
307リダイレクト:リクエストメソッドを維持してリダイレクト
です。
一言でまとめるよ
まぁ「307リダイレクト」って単語が出てきたら「リクエストメソッド
(「このページをおくれ」のお願いの仕方)を維持したページ転送なんだな~」と お考えください。
おまけ
■訳してみるよ
「307」は数字ですね。
「redirect(リダイレクト)」の意味は「向け直す」とかです。
何となく くっつけると
307番の理由で向け直す
となります。






