RESTfulWebサービス-キャッシング
キャッシングとは、サーバーの応答をクライアント自体に保存することを指します。これにより、クライアントは同じリソースに対してサーバー要求を何度も行う必要がなくなります。サーバーの応答には、キャッシュの実行方法に関する情報が含まれている必要があります。これにより、クライアントは一定期間応答をキャッシュするか、サーバーの応答をキャッシュしません。
以下は、クライアントのキャッシュを構成するためにサーバーの応答が持つことができるヘッダーです。
シニア番号 | ヘッダーと説明 |
---|---|
1 |
Date リソースが作成された日時。 |
2 |
Last Modified リソースが最後に変更された日時。 |
3 |
Cache-Control キャッシュを制御するためのプライマリヘッダー。 |
4 |
Expires キャッシュの有効期限と時刻。 |
5 |
Age サーバーからリソースがフェッチされてからの秒単位の期間。 |
キャッシュ制御ヘッダー
以下は、Cache-Controlヘッダーの詳細です-
シニア番号 | 指令と説明 |
---|---|
1 |
Public リソースが任意のコンポーネントによってキャッシュ可能であることを示します。 |
2 |
Private リソースがクライアントとサーバーによってのみキャッシュ可能であり、仲介者がリソースをキャッシュできないことを示します。 |
3 |
no-cache/no-store リソースがキャッシュ可能ではないことを示します。 |
4 |
max-age キャッシュがmax-age(秒単位)まで有効であることを示します。この後、クライアントは別のリクエストを行う必要があります。 |
5 |
must-revalidate max-ageが経過した場合にリソースを再検証するためのサーバーへの指示。 |
ベストプラクティス
画像、CSS、JavaScriptなどの静的コンテンツは常にキャッシュ可能で、有効期限は2〜3日です。
有効期限を高くしすぎないでください。
動的コンテンツは、数時間だけキャッシュする必要があります。