頻繁にリクエストされるデータをキャッシュすることで、クライアントがレスポンスを待機する時間が削減されます。また、頻繁にアクセスされるURLがメモリー内に格納される場合、オリジン・サーバーの負荷は大幅に削減されます。
キャッシュを有効にするには、キャッシュ・ルールを構成する必要があります。
オリジン・サーバーから静的および動的に生成されたコンテンツの両方がキャッシュされます。
完全なレスポンス(レスポンス・コード: 200
)のみがキャッシュされます。
HTTP GETおよびHEADリクエストへのレスポンスのみがキャッシュされます。
Oracle Traffic Directorは、レスポンスの本文、およびDest-IP
、Proxy-Agent
、Proxy-Connection
、Server
、Set-Cookie
、State-Info
およびStatus
を除くすべてのレスポンス・ヘッダーをキャッシュします。
Oracle Traffic Directorは、コンテンツを再検証するディレクティブ、特定のヘッダーをキャッシュしないディレクティブなど、オリジン・サーバーからのCache-Control
ディレクティブに従います。
各仮想サーバーに固有の1つ以上のキャッシュ・ルールを構成できます。これらのルールは、最大ヒープ領域、最大入力数および最大オブジェクト・サイズなど、構成に指定された全体の制限に影響を受けます。
キャッシュ・ルールは、すべてのリクエストに適用するようにも、指定された条件に一致するリクエストのみに適用するようにも構成できます。
キャッシュされたデータは、仮想サーバーごとに別々にプロセス・メモリー(ヒープ)内に保持されます。インスタンスが停止または再起動されると、キャッシュは空になります。
WebSocketアップグレード・リクエストはキャッシュされません。
クライアントが最初にオブジェクトをリクエストすると、Oracle Traffic Directorはリクエストをオリジン・サーバーに送信します。このリクエストはキャッシュ・ミスになります。リクエストされたオブジェクトがキャッシュ・ルールに一致する場合、Oracle Traffic Directorオブジェクトをキャッシュします。同じオブジェクトの後続のリクエストについて、Oracle Traffic Directorはそのキャッシュのオブジェクトをクライアントに提供します。このようなリクエストは、キャッシュ・ヒットとなります。
Oracle Traffic Directorのキャッシュの動作は、RFC 2616の13項の仕様と整合性が取れています。詳細は、http://www.w3.org/Protocols/rfc2616/rfc2616-sec13.html
を参照してください。