Google ChromeでDeveloper Toolsを使ってHTTPヘッダを確認する方法。
ChromeでDeveloper Toolsを開く(F12)
↓
「Network」タブをクリック
↓
対象のファイルをクリック
↓
「Headers」タブをクリック
※Networkを開いても何も表示されていなかったら対象ページをリロードする。
http://dev.ontheroad.jp/archives/11970
HTTPリクエスト
ブラウザからサーバに送るもの。
「HTTPリクエスト行」「HTTPヘッダー」「データ本体」の3つからなる。
HTTPリクエスト行
「HTTPリクエスト」の1行目。「メソッド」「URL」「HTTPバージョン」の3つの情報が含まれる。
「メソッド」はたいてい「GET」。「メソッド」が「POST」の場合=フォームなど。
HTTPヘッダー
「HTTPリクエスト」の2行目以降。次のような情報が含まれる。
- User-Agent
検索エンジンの場合は「Googlebot」などが入る。 - Referer
- If-Modified-Since(更新されている場合)/If-None-Match(同じでない場合)
- Cookie
- 受取希望(Accept、Accept-Language、Accept-Encoding、Accept-Charset)
どんなデータを受け取りたいか、画像の種類や、言語、文字コードなどの。
HTTPレスポンス
サーバからブラウザに送るもの。
「レスポンス状態行」「HTTPヘッダー」「データ本体」の3つからなる。
レスポンス状態行
3桁の数字で表される状態コード(HTTPステータスコード)が含まれる。
良く使われる状態コードは以下。
- 200番台:成功
- 300番台:リダイレクト
301:恒久的リダイレクト。(今後もずっと新しい場所から取得)
302:一時的リダイレクト。
304:変更されてない。(データ本体は送られない) - 400番台:クライアント側のエラー
401:ユーザー認証が必要。
403:アクセスが禁止されてる。
404:見つからない。 - 500番台:サーバ側のエラー
500:サーバの内部エラー。
501:サーバに要求された機能が実装されていない。
503:現在はサービス提供不可。webサーバーが過負荷状態など。
504:タイムアウト。
ちゃんとページが表示されている時は大抵「200」だが、「304」(=更新されていない)の時もある。この場合はブラウザがブラウザ内のキャッシュに残っているファイルでページを表示している。
HTTPヘッダー
各種の状態をあらわす。
- Content-Type
どんなデータなのか?や文字コード。 - Expires
ブラウザが再利用してよい期限。キャッシュの制御に使う。 - Last-Modified
データの最終更新日時 - ETag
エンティティ情報。リソースを表す固有の値。
例)
サーバがETagに対応しているならば、レスポンスで「ETag: “123”」のように返す。
クライアントは次にサーバへリクエストするとき、これを「If-None-Match: “123”」のようにヘッダに含める。そのときサーバのリソースに変更がなければ、サーバはHTTP/1.1 304 Not Modifiedのようにレスポンスを返す。 - Cache-Control、Pragma
キャッシュ制御。 - Connection
接続状況。続を持続するのか(keep-alive)、毎回接続を切断するのか(close)。
サーバもHTTPバージョン1.1の持続接続(keep-alive)を使える場合、通信のやりとりが効率良くる。 - Location
移動先。=リダイレクト先情報。
データ本体
普段見ているhtmlや画像。