HTTPのキャッシュについて
HTTPでキャッシュを利用する方法
キャッシュとはサーバーへのアクセスの頻度や通信量を減らすためにクライアント側で一度とった情報を保存しておき、必要になった時にあらかじめ取得してあった情報を利用することを言います。
■ キャッシュを利用するメリット
1. サーバへの通信を減らすことができるため、ユーザーの体感速度を上げることができる 2. ネットワーク接続が切れた状態でもある程度サービスを継続できる 3. サーバへの通信回数、転送量を減らすことでユーザーの通信コストを下げることができる 4. サーバへのアクセス回数が減ることで、サーバの維持費用を抑えることができる
キャッシュの保存場所はプロキシサーバーになるケースが多いです。(プロキシサーバーとは、クライアントとサーバーの間に位置してやり取りを仲介する機能を果たす。)
プロキシサーバーのキャッシュを利用する時には保存期間を意識しましょう。
オリジンサーバーのデータが書き換わっても最新の情報が反映されないケースがあるからです。
HTTPのキャッシュタイプ
1. Expiration Model 2. Validation Model
Expiration Model
あらかじめ、レスポンスデータに保存期間を決めておき期限が切れたら再度アクセスして取得を行う。
いつ期限が切れるかはサーバーからのレスポンスに含めて返すことで実現できます。
レスポンスはCache-Control レスポ ンスヘッダを使う方法、もう 1 つが Expires レスポンスヘッダを使う方法です。
Expires: Fri, 01 Jan 2016 00:00:00 GMT Cache-Control: max-age=3600
Validation Model
今保持しているキャッシュが最新であるかを問い合わせて、データが更新されていた場合にのみ取得をおこなう。
キャッシュさせたくない場合
逆にキャッシュをさせたくない場合はCache-Control ヘッダをno-cacheにすればキャッシュされません。
Cache-Control: no-cache
Cache-controlヘッダ一覧