If-Modified-Since

概要

If-Modified-Sinceとは、HTTPヘッダフィールド(項目)の一つで、要求するコンテンツの最終更新が指定した日時よりも後だった場合のみ送信するよう指示するもの。クライアント側がすでに持っているコンテンツが再送されることを抑止することができる。

HTTPWebサーバWebクライアントWebブラウザなど)の間でデータの伝送をなう通信規約プロトコル)の一つで、通信の制御情報を前半部のHTTPヘッダに記述し、後半のHTTPボディが伝送内容の本体を表す。ヘッダは改行区切りのテキスト(文字)形式で「項目名: 値(改行)」という記法で設定を列挙する。

If-Modified-Sinceはクライアントからサーバへの要求であるHTTPリクエストで一般的に用いられるヘッダ項目の一つで、クライアントが過去に受信してキャッシュに保管しているコンテンツリクエストする際に、最後に受信した日時をサーバに知らせる。

日時の形式は「Sun, 01 Jan 2023 12:34:56 GMT」のように「曜日, 日 月名 西暦 時:分:秒 GMT」の形式で記される。時刻表示にタイムゾーンは使用できず、経度0度におけるグリニッジ標準時GMT/UTC)に変換しなければならない。

サーバはIf-Modified-Sinceで示された日時以降にコンテンツが更新されている場合、ステータスコード200 OK」と共に新しいコンテンツ本体を送信する。更新されていない場合、クライアントキャッシュに保存しているものと同一であると推測されるため、ステータスコード304 Not Modified」を返しコンテンツは送信しない。

HTTPにはサーバ上のコンテンツバージョンを識別・指定する「ETag」と呼ばれる仕組みがあり、これを用いて更新されているかを問い合わせるには「If-None-Matchリクエストヘッダを用いる。現在はこちらで更新の有無を識別するのが一般的で、両方指定した場合はIf-Modified-Sinceが無視される。

(2023.1.20更新)

他の辞典による解説 (外部サイト)

この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。
ホーム画面への追加方法
1.ブラウザの 共有ボタンのアイコン 共有ボタンをタップ
2.メニューの「ホーム画面に追加」をタップ
閉じる