んだ日記

ndaDayoの技術日記です

HTTP キャッシュについて

HTTP キャッシュについてのメモです。

キャッシュとは?

→提供されたリソースの複製を保存して、要求されたときに背後でその複製を提供する技術
→リクエストを送る必要を無くし、全レスポンスを送る必要を無くす事を目的にしている

キャッシュは大きく分けて2種類

  • 共有キャッシュ=shared →複数のユーザーが再利用するためにレスポンスを保存する

  • プライベートキャッシュ=private →ひとりのユーザーのためのキャッシュ

Cache-Control

→Cache-Controlで、キャッシュを制御する

例)

Cache-Control: private
Cache-Control: no-cache
Cache-Control: no-store

Expiresヘッダー

レスポンスが古くなると見なされる日時を指定する クライアントは、期間内であれば強制的にキャッシュを利用する

例)

Expires: Wed, 21 Oct 2015 07:28:00 GMT

ETag=エンティティタグ

→HTTP のレスポンスヘッダーで、リソースの特定バージョンの識別子
→クライアントは条件付きリクエストを送ることで、指定されたものの中に要求されたリソースの ETag に一致するものがない場合のみ、サーバーはリソースを 200 ステータスで返す。

例)

ETag: "33a64df551425fcc55e4d42a148795d9f25f89d4"
ETag: W/"0815"

#

参考

Cache-Control - HTTP | MDN

HTTP キャッシュ - HTTP | MDN

ハイパーテキスト転送プロトコル -- HTTP/1.1

Expires - HTTP | MDN