背景:
次の人が要求していた、との内容が変更されたときに識別することができたときの応答速度の内容を取得する方法、内容は一般的にすべての時間を変更していないアプリケーション、アクセスをGET。
キャッシュはアプリケーション層で行われる一つの方法であるが、それでも全身クライアントに対応するため、帯域幅の消費を削減するのではなく、唯一のCPU、DBの消費量を削減します。
第2の要求がもはや後端、標準のHTTPプロトコルによる特定のサポートに到達するようにHTTPキャッシュは、この問題を解決するために同じではありません。
:HTTPキャッシュを使用して、要求処理後の2モードがHTTPキャッシュこの図で見ることができるhttps://tomayko.com/blog/2008/things-caches-do
ここでHTTPゲートウェイのキャッシュに言及する別の方法として、クライアントとクライアントの要求を受け、中間層に相当完全に独立したオープンなアプリケーションは、受信し、応答のバックエンドクライアントに送信されます。
HTTPゲートウェイキャッシュプログラムは、ニス、イカを持っています。
HTTPキャッシュキャッシュは、キャッシュが、安全な方法での唯一の仕事は、GET、HEAD有効になっている一般的な4つのヘッドを提供します
Cache-Control
有効期限
ETag(エンティティタグの平均値)
最終更新日
最初の二つの方法は、次の2つの方法は、クライアントキャッシュの有効期限が切れていることを確認するために使用することができた後、キャッシュの有効期限を設定するために使用することができます。
キャッシュの有効期限とキャッシュ検証が最良の結果を達成するために組み合わせることができます。
Laravelで使用されているHTTPキャッシュ
https://laravel.com/docs/6.x/responses#attaching-headers-to-responses、
第一の方法は、ヘッダ()とwithHeaders()2つのメソッドを追加のレスポンスヘッダ情報を与えることにより、応答成分のAPIによるものです。
第二の方法はすぐにETag、キャッシュ制御のルーティングのセットを設定するキャッシュ制御ミドルウェアを使用することであり、そうでLAST_MODIFIED。
#routeMiddleware
' cache.headers ' => \を照らし\のHttp \ミドルウェア\ SetCacheHeaders ::クラス
#例適用
ルート::ミドルウェアを( 'cache.headers:プライベート; max_ageの= 60')
symfonyのHTTPキャッシュ:https://symfony.com/doc/current/http_cache.html
symfonyのHTTPキャッシュ検証:https://symfony.com/doc/current/http_cache/validation.html
HTTP / 1.1 RFC、HTTPキャッシュおよび関連するヘッダフィールド:https://tools.ietf.org/html/rfc7234
HTTP / 1.1 RFC、HTTPリクエスト条件:https://tools.ietf.org/html/rfc7234
キャッシュ制御のプライベート:https://baike.baidu.com/item/Cache-control/1885913