LoginSignup
16
18

More than 5 years have passed since last update.

リダイレクトによるページ遷移を追ってみる【初級編】

Last updated at Posted at 2019-01-31

はじめに

WEBアプリケーションの開発を行っていると、リダイレクトの挙動を追いたくなる場面がちょくちょくあります。リダイレクト動作自体の実装作業や、ページ遷移を伴う機能の開発(ログイン、ログアウトなんかもそうですね)をしていると作業中にリダイレクトの挙動を確認したくなったりもします。

今日は簡単な例を使ってリダイレクト時のページ遷移を追う基本的な流れを紹介してみたいとおもいます。

使用ブラウザ

  • Google Chrome

お題

Chrome のアドレスバーに http://google.com と入力してエンターキーを押してみましょう。

すると
スクリーンショット 2019-01-31 14.56.17.png
おや?いつのまにか入力したURLとは違うページに移動していますね。

つまり http://google.comhttps://www.google.com というリダイレクトが行われたことがわかります。この間、どのようなページ遷移が行われたのかを追いかけてみましょう。

(世界の Google 先生を教材にしてしまった)

手順

1. Chrome の新規タブを開き、F12キーで開発者ツールを起動したあと Network タブに切り替えておきます

そもそもネットワークタブを使ったねぇよ( ゚д゚) という方は下記のあたりをさらって見ておくといいと思います。(むしろこれだけで全て事足りるまである)

Tools for Web Developers  |  Google Developers

2. Preserve log オプションにチェックを入れておきます

通常ではページ遷移するたびにログがリセットされてしまいます。しかし、Preserve log にチェックを入れておくと、ページ遷移後もログが引き続き残ります。ここではリセットしたくないのでチェックを入れておきましょう。

2019-01-29_13h00_53.png

3. 該当のページを開きます

お題と同じように http://google.com とアドレスバーに入力してください。

4. ログを確認します

スクリーンショット_2019-01-31_15_07_54.png

ページ開いたらログがいっぱいでてきましたね。ここでは Status の列が 30x になっている行に注目してください。上から2行がそうですね。基本的に300番台のステータスコードはリダイレクトが行われたことを表しています。

まず1行目のリダイレクトの詳細をみてみます。

スクリーンショット_2019-01-31_15_13_52.png

Request URL はブラウザに自分で入力したものですね。そしてリダイレクト先については Response Headers > Location の値をみると確認できます。ここでは http://www.google.com へのリダイレクトが行われたことがわかります。www なしから www ありのドメインに変わってますね。

続いて2行目のリダイレクトの詳細をみてみます。

スクリーンショット_2019-01-31_15_21_51.png

1行目のときと同じ要領で確認してみると、https://www.google.com へのリダイレクトが行われたことがわかります。http が https になってますね。

以上からページ遷移は実は以下のように2回行われていたということがはっきりします。

http://google.com
↓(301)
http://www.google.com
↓(307)
https://www.google.com

ログ機能を使わずにブラウザで目視しているだけではリダイレクトが1回行われたようにしか見えないので、こういう細かい動きがわかるのはログならではです。

参考

30x系ステータスコードの詳細については2つめのリンクに説明があります。お堅いかんじですが使用例もあって意外にわかりやすいです。さらっと目だけでも通しておくといいとおもいます。(今日は各ステータスコードの詳細については省略します。)

おわりに

今回は単純なサンプルですが、この基本を覚えておくと、今後リダイレクトループのようなトラブル調査にも役に立ちますので覚えておいて損はないとおもいます。上級編もそのうち執筆できるように まず筆者がもっと勉強します。(すみません)

ちなみに今回はそんなに変なことは書いていないはずですが何か気になる点等がありましたら遠慮なくコメントください。(もちろん単なる感想でも大歓迎です:relaxed:)

それでは。

16
18
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
16
18