Expires は、Web サーバーの応答メッセージ ヘッダー フィールドで、http リクエストに応答するときに、ブラウザが有効期限が切れる前に再度リクエストすることなくブラウザ キャッシュからデータを直接フェッチできることをブラウザに伝えます。
Cache-Control は Expires と同じ機能を持ち、両方とも現在のリソースの有効期間を示し、ブラウザがブラウザ キャッシュからデータを直接取得するか、データを取得するためにサーバーにリクエストを再送信するかを制御します。ただ、同時に設定するとExpiresよりもCache-Controlのほうが選択肢が多く、より詳細な設定が可能になります。
1. HTTP プロトコルのキャッシュ制御の一般的な値とその組み合わせの解釈:
no-cache: データ コンテンツはキャッシュできず、max-age がある場合はリクエストごとにサーバーが再アクセスされます。 、キャッシュ期間 サーバーにアクセスできません。
no-store: キャッシュできないだけでなく、一時的に保存することもできません (つまり、リソースを一時フォルダーに一時的に保存できません)
private (デフォルト): のみ可能です。ブラウザにキャッシュされます。最初のみサーバーはリクエストが行われたときにのみアクセスされます。max-age がある場合、キャッシュ期間中はサーバーにアクセスされません。
public: 任意のキャッシュ領域にキャッシュできます。例: ブラウザ、サーバー、プロキシ サーバーなど。
max-age: 相対有効期限、つまり秒単位のキャッシュ時間。
no-cache、private: 最大の場合、新しいウィンドウを開くときにサーバーに再アクセスします。 -age が設定されている場合、キャッシュ期間中はサーバーにアクセスされません。
private、positive max-age: 戻るときはサーバーにアクセスしません。
no-cache、positive max-age: 戻るときにサーバーにアクセスします。 back
応答メッセージの指示には、パブリック、プライベート、キャッシュなし、ストアなし、変換なし、必須再検証、プロキシ再検証、および最大有効期間が含まれます。
3. nginx 設定:
1) nginx で有効期限が設定されていない場合、応答はデフォルトで Cache-Control: private になります
2) 有効期限を -1 に設定すると、応答はキャッシュになります- Control:no-cache
3) 応答に add_header Cache-Control no-store を設定すると、応答は次のようになります: Cache-Control:private Cache-Control:no-store
りー
上記は、制御とキャッシュの側面を含む http キャッシュ制御を紹介したもので、PHP チュートリアルに興味のある友人に役立つことを願っています。