HTTPヘッダとコンポーネントのキャッシュについて整理
画像などの静的ファイルのキャッシュとHTTPヘッダの関係について最近の調査結果をメモメモ。
Expiresヘッダ
Expires:Mon, 27 Aug 2012 04:44:15 GMT
レスポンスのボディがキャッシュとして新鮮でなくなる日時。絶対時間で表記。
この日時まではブラウザにファイル自体がキャッシュされるため、無駄なHTTP通信を避けることができる。
If-Modified-Sinceリクエストヘッダを利用することで、提示した日時以降にリソースが更新されていたらリソースを取得する。
If-Modified-Since: Sat, 29 Oct 2012 19:43:31 GMT
この条件付きGETでリクエストすると、
「指定された時刻以降にリソースが更新されていなければ、304を返し、レスポンスにボディを含めない。」ようにサーバは振る舞う。
Cache-controlヘッダ
クライアントーサーバでのキャッシュ方法を示す。no-cache(キャッシュしない)やmax-age(どれぐらいの期間キャッシュするか)を指定。
Cache-Control:max-age=604800
こちらは相対時間(秒)で表記。これは1週間キャッシュするの意味。
IPA ISEC セキュア・プログラミング講座:Webアプリケーション編 第5章 暴露対策:プロキシキャッシュ対策
Webを支える技術 -HTTP、URI、HTML、そしてREST (WEB+DB PRESS plus)
- 作者: 山本陽平
- 出版社/メーカー: 技術評論社
- 発売日: 2010/04/08
- メディア: 単行本(ソフトカバー)
- 購入: 143人 クリック: 4,320回
- この商品を含むブログ (183件) を見る