Max-Age
概要
Max-Ageとは、WebサーバとWebブラウザの通信に用いるHTTPのヘッダ領域で指定できる設定値の一つで、コンテンツの有効期限を指定するもの。Cache-ControlヘッダやCookieヘッダに記述する。Cache-Controlのmax-age値
HTTPには「キャッシュ」の仕組みがあり、一度送信したコンテンツをクライアント側で一時保管し、毎回再送信しなくて良いようにする。Cache-ControlヘッダフィールドではMax-Age値を用いて送信日時からの経過秒数で有効期限を指定する。
例えば、「Cache-Control: max-age=86400」のように指定すると、クライアントがコンテンツを受信してから86400秒、すなわち24時間の間だけキャッシュが有効になる。期限を過ぎるとクライアントは同じコンテンツが必要なときにサーバに再送信を要求する。
CDNやリバースプロキシなどサーバ側にコンテンツのキャッシュを保管する仕組みがある場合は「s-maxage」値で有効期限を指定する。送信元のWebサーバ(オリジンサーバ)がs-maxage値を設定すると、CDNのキャッシュサーバなどは有効期限までの間だけコンテンツをキャッシュしてクライアントに提供する。
CookieのMax-Age値
Webサーバから送信した情報をクライアント側に永続的に保管するCookieの仕組みでも、Set-CookieヘッダフィールドにMax-Age値を記述すると有効期限を指定できる。キャッシュの場合と同じで受信時からの経過秒数で指定し、0または負の数だと直ちに期限切れとなる(保存されない)。
CookieではExpires値で将来の日時を指定して有効期限を設定することもできる。ExpiresとMax-Ageが両方指定されている場合にはMax-Ageが優先する仕様となっている。
(2023.1.15更新)