Web アプリケーションの開発とデバッグを行う際には、テストのためにブラウザのキャッシュをクリアしたり、強制的に更新したりしなければならないという問題に遭遇することがよくあります。ここでは、Apache の no-cache 構成と nginx の no-cache 構成の設定をいくつか紹介します。一般的なキャッシュ設定には Cache-Control と Pragma の 2 つがあり、どちらも add_header を使用して設定されます。 nginx: 場所 ~ .*\.(css|js|swf|php|htm|html)$ { add_header Cache-Control no-store;add_header Pragma no-cache; } サイト上で頻繁に変更されない静的コンテンツ (画像、JS、CSS など) の場合、サーバー上で有効期限を設定してブラウザ キャッシュを制御することで、帯域幅トラフィックを効果的に削減し、サーバーの負荷を軽減できます。 Nginx サーバーを例に挙げます。 場所 ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ { #有効期限は30日間です。 #画像ファイルはほとんど更新されないので、有効期限が切れたときには大きな値を設定できます。 #頻繁に更新する場合は、小さく設定することもできます。 有効期限は30日です。 } 場所 ~ .*\.(js|css)$ { 有効期限は10日です。 } [背景]: Expires は、Web サーバーの応答メッセージのヘッダー フィールドです。HTTP 要求に応答するときに、ブラウザーが有効期限前に再度要求することなくブラウザー キャッシュから直接データを取得できることをブラウザーに通知します。 【関連情報】 1. キャッシュ制御戦略 Cache-Control と Expires は同じ機能を持ち、どちらも現在のリソースの有効期間を示し、ブラウザーがブラウザー キャッシュからデータを直接取得するか、サーバーに要求を再送信してデータを取得するかを制御します。ただ、Cache-Control の方がオプションが多く、より詳細な設定が可能です。同時に設定する場合は、Expires よりも優先度が高くなります。 HTTP プロトコル ヘッダー Cache-Control : 値は、public、private、no-cache、no-store、no-transform、must-revalidate、proxy-revalidate、max-age のいずれかになります。 各メッセージ内の指示の意味は次のとおりです。
最終更新日/更新日以降
最終的に達成されるのは、次の 3 種類の HTML キャッシュ テクノロジを設定することと同等です。 <meta http-equiv="pragma" content="no-cache"/> <meta http-equiv="Cache-Control" content="no-cache, must-revalidate"/> <meta http-equiv="有効期限" content="0"/> Nginx キャッシュ設定の詳細事例については以上です。より関連性の高い Nginx キャッシュ設定については、123WORDPRESS.COM の過去の記事を検索するか、以下の関連記事を引き続き閲覧してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
<<: CSS3のbox-shadowプロパティの使い方の詳細な例
>>: MySQL における TIMESTAMPDIFF ケースの詳細な説明
目次1. 脱構築とは何か? 2. 配列の分割3. 配列モードと代入モードの統一4. デフォルト値の構...
1. 原因:サブボックスをフロートに設定した後の効果: 青いボックスをフロートに設定すると、標準のド...
デザイナーは独自のフォント ライブラリを持っているため、プロジェクトの設計時にすぐに使用できます。今...
1. 全体的なアーキテクチャ図他のデータベースと比較すると、MySQL は、そのアーキテクチャがさま...
NTP は、ネットワーク上で時間を同期するための TCP/IP プロトコルです。通常、クライアントは...
1. リポジトリファイルを作成するmongodb の公式インストール ドキュメントを参照し、次のスク...
目次1. autofs サービスの紹介2. Autofsのインストールと展開3. Autofs効果の...
これからの道のりは長く困難ですが、私は探求を続けます。また週末がやってきました。引き続き、皆さんと一...
目次1. 日付2. 正規表現3. オリジナルパッケージタイプ序文:参照値(オブジェクト)は、 Dat...
最近、hadoop テスト クラスターで spark ストリーミング プログラムを実行し、その後、n...
目次1. ダウンロード2. 展開3. Nginxログ関連の設定4. ファイルダウンローダーとして n...
テクノロジーファンHTMLウェブページ、知っておくべきYouyou が開発した vue フロントエン...
MySQL が数千万のデータをクエリする場合、ほとんどのクエリ最適化の問題はインデックスを通じて解決...
私はここでCentOS 7 64ビットシステムを使用しています。CentOS 64ビットシステムを試...
目次LAMPアーキテクチャ1.ランプの紹介2. WebサービスワークフローWebサーバーのリソースは...