オリジンサーバのコンテンツが更新されている場合 #
オリジンサーバーの応答: If-Modified-Since
ヘッダで指定された日時以降にコンテンツが変更されている場合、オリジンサーバーはステータスコード 200 OK
と共に、更新された新しいコンテンツ本体をレスポンスボディに含めて返します。通常、新しいLast-Modified
ヘッダもこの応答に含まれます。
DuraSite-Edgeの動作:
- DuraSite-Edgeが
200 OK
と新しいコンテンツを受信すると、オリジンサーバー上でコンテンツが更新されたと判断します。 - 受信した新しいコンテンツで、DuraSite-Edge上のキャッシュを上書き更新します。新しいTTLもこのタイミングで適用されます。
- クライアントに対しては、更新された新しいコンテンツを応答します。
メリット: クライアントには常にオリジンサーバー上の最新のコンテンツが提供されることが保証されます。
オリジンサーバのコンテンツが更新されていない場合 #
オリジンサーバーの動作:If-Modified-Since
ヘッダで指定された日時以降にコンテンツが変更されていない場合、オリジンサーバーはステータスコード 304 Not Modified
を返します。この応答には、コンテンツ本体(ボディ)は含まれません。(参考画像参照)
Durasite-Edgeの動作:
- Durasite-Edgeが
304 Not Modified
を受信すると、オリジンサーバー上でコンテンツに変更がなかったと判断します。(参考画像参照) - 手元にあるStaleキャッシュを 有効なものとして扱い、そのTTLをリセット(または、オリジンからの新しい指示に基づき延長) します。これにより、既存のキャッシュが再利用されます。(参考画像参照)
- クライアントに対しては、更新されたTTLを持つキャッシュからコンテンツを応答 します。
メリット: オリジンサーバーからコンテンツ本体を再ダウンロードする必要がないため、オリジンサーバーの負荷とネットワーク帯域を大幅に削減でき、クライアントへの応答も高速になります。
動作の詳細については下記図を参照ください。
