Expires

概要

Expiresとは、「有効期限が切れる」「失効する」などの意味の英単語で、通信プロトコルなどの設定値などでデータの有効期限を表す。CookieのExpires属性、HTTPヘッダのExpiresヘッダフィールドがよく知られる。

CookieのExpires属性

WebサーバWebブラウザの間でやり取りされるCookieクッキー)に有効期限を設定するには「Expires」属性を指定する。

CookieWebコンテンツの伝送に用いられるHTTPHypertext Transfer Protocol)に用意された仕組みの一つで、サーバからの応答時に任意の文字列データを付与し、クライアントがこれを保管してサーバへのリクエスト時に毎回送信する。サーバクライアントを識別したり、クライアント側で必要な情報を保管することができる。

Expires属性はCookieの有効期限を表し、期限を過ぎるとそのCookieは破棄される。サーバからCookieを発行する際に「Set-Cookie:ヘッダで指定することができ、Cookie文字列本体や他の属性と「;」(セミコロン)で区切って「;Expires=日時を表す文字列;」のように指定する。クライアント側でJavaScriptなどを通じて書き換えることもできる。

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

なお、として0や過去の日時を指定すると、すでに期限を超過しているとみなされ即座にCookieは破棄される。また、無指定の場合には最後のアクセスから一定の時間(ブラウザごとに異なる)が経過するかブラウザを終了すると消去される「セッションCookie」として取り扱われる。Cookieには「Max-Age属性」で有効期限(受信時からの経過秒数)を指定する方法もある。

HTTPヘッダのExpires

HTTPヘッダフィールド(項目)の一つで、送信したデータクライアント側でキャッシュ保管する際の有効期限を指定するものをExpiresという。期限が切れる日付/時刻を指定する。

WebサーバWebブラウザなどのクライアントの求めに応じてファイルなどのデータを送信するが、同じデータを毎回送り直すのは回線資源の無駄であるため、一度受信したデータクライアント側のストレージに保管しておき、次に呼び出されたときはストレージから読み込む「キャッシュ」という仕組みがある。

Expiresヘッダフィールドはサーバクライアントに送信するHTTPレスポンスに記載される項目の一つで、送信したデータキャッシュ保管する際の有効期限を指示する。Cookieの場合と同じように「曜日, 日 月名 西暦 時:分:秒 GMT」の形式でグリニッジ標準時に変換した日時を記す。

クライアントはExpiresで指定された期限が来るとキャッシュを破棄し、またそのデータが必要になったら改めてWebサーバから取り寄せる。として「0」や過去の日時などを指定すると、すでに期限切れとみなされキャッシュに保存しないことになっている。新たに策定された「Cache-Control」ヘッダフィールドの方が機能が豊富で、現在ではこちらを用いることが多い。

(2022.12.23更新)

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

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