HTTPレスポンスヘッダーの確認方法

301リダイレクトなどの転送設定をした際、正常に反映されているかをHTTPレスポンスヘッダー情報ステータスコードを確認しておきましょう。

HTTPレスポンスの内容

HTTPレスポンスの内容

ブラウザがサイトを表示する際、HTTPリクエストによってサーバーにファイルの取得を要求し、サーバーが応答してHTTPレスポンスを返します。このリクエストとレスポンスの両方にヘッダー情報が含まれますが、サーバーが返す「HTTPレスポンス」のヘッダー情報でステータスコードを確認することができます。

HTTP通信

  • HTTPリクエスト
    ヘッダー情報(ユーザーエージェントなど)

  • HTTPレスポンス
    ヘッダー情報(ステータスコード、日時など)
    レスポンスボディ(HTMLソースのコンテンツなど)

上記の例では「200 OK」と記載されていますが、ファイルが見つかり成功した場合は「200」、ファイルが存在しない場合は「404」、移転した場合は「301」など、3桁の番号のステータスコードが返ってきます。

「HTTPレスポンスヘッダー」は、HTMLコードのヘッダーと間違えやすいですが、HTTP通信のレスポンスに含まれる、メタ情報としてのヘッダーのことですので注意しましょう。

curlコマンドを使用してレスポンスヘッダーを確認する方法

curlは、Windowsではデフォルトでインストールされていますが、Macでも使用することができます。もし入っていなければ、こちらからインストールするとよいでしょう。

curl

コマンドブロンプトを開き、以下のように入力してcurlコマンドを実行します。

curl [オプション] [サイトのURL]コピーボタンコピーチェックボタン

レスポンスのヘッダー情報のみを確認する場合、[-I]のオプションで以下のように入力して使用します。

curl [-I] [サイトのURL]コピーボタンコピーチェックボタン

例えば、以下のように入力した場合、ヘッダー情報のみを確認することができます。

curl -I https://www.homepage-tukurikata.com/コピーボタンコピーチェックボタン

200 OK

curlコマンドのヘッダー情報

小文字の[-i]オプションを指定した場合、ヘッダー情報に加え、レスポンスのボディ部分(HTMLソースのコンテンツなど)も表示されます。

301 Moved Permanently

非SSLの「HTTP」のURLで実行した場合、当サイトでは「HTTPS」にリダイレクトしているため、次のように「301 Moved Permanently」と表示されます。

301リダイレクトの例

加えて、リダイレクトの転送先URLアドレスも表示されます。リダイレクト設定をした場合、このように「200 OK」ではなく、「301」が返ってくることを確認します。

410 Gone

また、削除したページなどは「410 Gone」と表示されます。

410 Goneの例

404 Not Found

存在しないページについては、「404 Not Found」と表示されます。

404 Not Foundの例

[オプション]なしで、単純にサイトのURLのみを入力した場合、HTMLソースが返ってきますが、詐欺サイトや悪意のあるサイトなど、何らかの理由でブラウザでは直接アクセスしたくない場合に使用すると便利です。

このcurlコマンドをウェブサイト上で実行できるようにしているサイトも多くあります。そのようなサイトを利用して、ウェブサイト上からチェックしてみるのもよいでしょう。

サイト運営に役立つcurlコマンドの一覧

このcurlコマンドには、以下のような便利な使い方があります。

[-O]オプションでファイルとしてダウンロード

単にページのレスポンスを確認するだけの場合は、URLを指定して実行するだけで十分ですが、パソコンにダウンロードする場合は、outputの[-O]オプションを使用します。

例えば、このページをダウンロードする場合は以下のように指定します。

curl -O https://www.homepage-tukurikata.com/hp/http-response-header.htmlコピーボタンコピーチェックボタン

ただし、書き込みが禁止されているフォルダもあるため、適当な階層に移動してからcurlを実行するとよいでしょう。

[-K]オプションで複数のURLをリスト化

また、複数のURLを指定する場合、テキストファイルに「url = ""」として一行ずつ記載します。

テキストファイルに複数のURLを指定

このURLリストのテキストファイルを[-K]オプションで指定して実行します。

例えば、URLリストを「list.txt」として記載し、このリストのレスポンスヘッダーを確認する場合は以下のようになります。

curl -I -K list.txtコピーボタンコピーチェックボタン

すると、リストに記載されたURLのHTTPレスポンスヘッダーを確認することができます。

複数のサイトのレスポンスヘッダーを確認

複数のサイトを運営している場合、サイトが正常に機能しているかを簡単にチェックすることができます。

チェックする数が多い場合、[-w]のオプションを使用し、チェックしたURLと改行も追加しておくと分かりやすいでしょう。

curl -I -K list.txt -w "%{url_effective}\n\n"コピーボタンコピーチェックボタン

また、複数のURLのリストをパソコンにダウンロードする場合、[--remote-name-all]などのオプションを使用して以下のように指定します。

curl --remote-name-all -K list.txtコピーボタンコピーチェックボタン

すると、テキストファイルに記載したURLのリストをパソコンにダウンロードすることができます。

URLのリストをパソコンにダウンロード

ただし、「.html」などのファイル名がないとダウンロードできず、エラーになるため、動的なサイトについてはエラーになると思います。

トップページなどは、「index.html」などと指定する必要があるので注意しましょう。また、ダウンロードする際は、フォルダを作成してlist.txtを作成したのち、そのフォルダに「cd」で移動した上でcurlを実行するとうまくいきます。

curlコマンドのオプション一覧

curlコマンドのオプション一覧

オプションについては、「curl -help」や「curl --help all」などで一覧が表示できるので、確認してみることをおすすめします。

ChromeのDevToolsでレスポンスヘッダーを確認する方法

GoogleブラウザのChromeのDevToolsでも、ヘッダー情報を確認することができます。ブラウザ右上にある3点リーダから、「その他のツール」→「デベロッパーツール」を選択して起動します。

デベロッパーツールの起動

この状態で、ブラウザのアドレスバーに調査したい「URL」を直接入力してアクセスします。すると、DevToolsの「ネットワーク」のタブで以下のように表示されます。

DevToolsでのステータス情報の確認

もし、リダイレクト設定をしている場合は「301」のステータス情報が表示されるはずです。その後、リダイレクト先に転送されてサイトが表示され、「200」のステータス情報が表示されます。

curlコマンドもDevToolsもどちらでも簡単ですが、HTTPリクエストの際のユーザーエージェントが異なり、当サイトの環境では以下のようになっています。

Curlコマンドの場合
curl/7.83.1
([-v]のオプションでUser-Agentを確認)

Chromeの場合
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36
(窓に chrome://version と入力。)

サイトによっては、ブラウザ以外のロボットのアクセスを拒否している場合があるため、正常に表示されない場合はDevToolsを使用されることをおすすめします。