問題タブ [cache-control]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
3 に答える
2061 参照

iis - IIS7.5 OutputCacheModule カーネル キャッシング 'public' は URL を無視します

IIS 7.5 上の ASP.NET 4 アプリケーションで、出力キャッシュに関して奇妙な動作が発生します。他の空のセットアップで問題を繰り返すことができました。これはバグであると確信していますが、Microsoft に報告する方法がわかりません。

IIS のサイトは複数のドメインに応答し、.NET アプリケーションはホスト名を調べ、それに応じてコンテンツを生成します。たとえば、空白ページにリクエスト URL の名前を出力する場合があります。例: www.first-domain.com および www.second-domain.com

web.config には、適切なキャッシング、urlCompression、および httpCompression がすべて system.webServer ノードの下でオフになっています。

aspx ページは、有効期限の将来の日付または max-age 値を使用して、public のキャッシュ制御ヘッダーを設定します。

www.first-domain.com にアクセスすると、「www.first-domain.com」を正常に書き込むページが出力されます。

ただし、www.second-domain.com にアクセスすると、「www.first-domain.com」と書かれたページが出力されます。

failed-request-traces を調べると、System.Web.Caching.OutputCacheModule はキャッシュされた出力を検出し (.config ファイルで機能がオフになっているにもかかわらず)、要求 URL のホスト名が異なっていてもキャッシュが一致したため、 2 番目の要求は、2 番目のドメインの正しいページが表示される前に、max-age/expiry が設定されている限り、最初の要求の結果を別のドメインに出力します。

cache-control を private に設定するか、web.config の 'OutputCache' モジュールを削除すると、ブラウザに送信される正しい cache-control ヘッダーを維持しながら問題が解決しますが、明らかに、次の場合にカーネル キャッシュを利用できません。それが必要。

OutputCacheModule の構成方法に関する MSDN ドキュメントが見つかりません。

他の誰かがこの問題を経験しましたか?カーネルキャッシュを有効にして、URL ホスト名を考慮に入れるにはどうすればよいですか (アプリケーションを IIS の異なるサイトに分離することなく)。

ありがとう。

アップデート:

SetSlidingExpiration を追加しても効果はありません。リクエストのホスト名に関係なく、カーネル キャッシュは引き続き出力をキャッシュするためです。現在の唯一のシナリオは、出力キャッシュを無効にするか、実行する各ドメインでアプリの複製インスタンスを実行することです。これによりサーバーのパフォーマンスが低下することと、出力キャッシュを使用することで得られるパフォーマンスが向上することを考慮して、決定しました。このアプリの出力キャッシュを無効にします。

0 投票する
4 に答える
1286 参照

javascript - IE7 では問題なく動作しますが、IE8 では JavaScript ギャラリー スクリプトが読み込まれません。

私は、IE7であっても、最新のすべてのブラウザで動作するjavascriptガレリアを持っています。しかし、IE8 でロードすると..ギャラリーが表示されません..しかし、Ctrl + F5 を押すと、ハード リロードが実行され、キャッシュが消去され、最終的にギャラリアが表示されます..ページをリロードするだけの場合..または同じギャラリア スクリプトを使用して別のページに移動すると、問題が再び発生します..そのため、IE8 用のハード リロード スクリプトが必要です。

疑似コード:

0 投票する
3 に答える
48075 参照

c# - プログラムでキャッシュをクリアするにはどうすればよいですか?

私のアプリケーション(ASP.NET+ c#)では、ユーザーがaspxページに入る前にキャッシュをクリアする必要があります。

aspxページまたはコードビハインド(c#)のキャッシュをプログラムでクリアする方法を誰かが知っていますか?

0 投票する
2 に答える
25140 参照

nginx - Cache-Control ヘッダーが繰り返されます。有効かどうか?(ニンクス)

次のように構成された Nginx にリソースがあります。

これを Firebug で開いてヘッダーを見ると、次のように表示されます。

サイトは HTTPS を使用しているため、正しく取得したいと思います。これは、 max-age>0 AND でない限り、明らかにブラウザーがキャッシュしないためpublicです。これを見る

しかし、Nginx を使用するcurl -Ik https://...と、次のように表示されます。

Cache-Controlヘッダーを繰り返します!明らかに Firebug は気にしません。しかし、それは正しいですか?

Expiresand Cache-Control(with public) を 2 行で設定するより良い方法はありますか?

0 投票する
2 に答える
2561 参照

javascript - HTTPキャッシュ制御

私はHTTPキャッシングに不慣れで、本当に助けが必要です...

  1. "Cache-Control"XHRをサーバーに送信するときに多くの人がヘッダーを設定するのを見ました。それを行う目的は何ですか?リクエストヘッダーもキャッシュする必要がありますか?

  2. このヘッダーをXHRに設定しました: Cache-Control max-age=30, must-revalidate、しかしFirefox 3.6.13は、30秒後に更新(強制更新さえ)してもファイルを再検証しないようです。サーバーにもアクセスログインはありません。これは、Apacheのファイルにexpireヘッダーを設定していないためですか?

    Firebugログから:

    応答ヘッダー
    日付2011年1月22日土曜日09:59:21GMT
    最終変更日2011年1月20日09: 05:
    11GMTEtag "3e000000023ca7-20d-49a436e5b3413"

    リクエストヘッダー
    Keep-Alive115
    接続keep-aliveContent -
    Typeapplication / xml
    Cache-Control max-age = 30、must-revalidate

    ファイルは変更されていますが、Firefoxは条件付き取得さえ行いません。まったく更新されませんResponse DateLast-Modified

0 投票する
1 に答える
657 参照

drupal - Drupal 5.x で「Cache-Control」ヘッダーを変更するには?

Drupal 5.x を使用しています。Squid をリバース プロキシとして実験しています。Squid と Drupal が構成されています。静的コンテンツがキャッシュされています。

テスト目的で、Drupal から返された「認証済み」ページに「Cache-Control: public ...」を設定したいと考えています。

ヘッダーがbootstap.incに設定されていることがわかります。そのファイルの「Cache-Control」ヘッダーのすべてのインスタンスを変更し、「public」に設定しました。ただし、(Safari の Web インスペクターで) HTTP ヘッダーを表示すると、「Cache-Control:private」が表示されます。そのため、Squid はそれらのページで Cache MISS を返しています。

質問は、この「Cache-Control」が「private」に設定されているのはどこですか? 認証済みユーザーの「Cache-Control」ヘッダーを変更するにはどうすればよいですか?

前もって感謝します!

0 投票する
1 に答える
2646 参照

rest - Jersey と json の実装による HTTP CacheControl

JSON バインディングを使用する GET サービスに CacheControl 情報を追加したいと考えています。応答に cacheControl を追加すると、REST サービスは次のように聞こえることがわかりました。

しかし、jsonメッセージを生成するRESTサービスがあり、jerseyライブラリはjavaオブジェクトをjavaからxml/jsonに自動的に変換します。

myjsontestservice サービスの応答にキャッシュ コントロールを追加するにはどうすればよいですか? jersey によって応答が作成されたら、フィルタを使用してキャッシュ コントロールを追加する必要がありますか? ありがとう百万フラビオ

0 投票する
19 に答える
8164 参照

php - キャッシュされ、PHPで生成されたサムネイルの読み込みが遅い

質問パートA▉(100の賞金、授与)
主な質問は、このサイトをより速くロードする方法でした。まず、これらの滝を読む必要がありました。ウォーターフォール読み出し分析に関するご提案ありがとうございます。ここに示されているさまざまなウォーターフォールグラフから明らかなのは、PHPで生成されたサムネイルという主なボトルネックです。DavidがアドバイスしたCDNからのプロトコルレスのjqueryの読み込みは、私のサイトを全体的に3%速くし、サイトの主なボトルネックに答えることはできませんでしたが、私の恩恵を受けました。私の質問を明確にするための時間、そして別の報奨金:

質問パートB▉(100の賞金、授与)
新しい焦点は、6つのjpg画像が抱えていた、読み込み遅延の大部分を引き起こしている問題を解決することでした。これらの6つの画像は、PHPで生成されたサムネイルで、小さく、わずか3〜5 kbですが、読み込みが比較的遅くなりますさまざまなグラフの「最初のバイトまでの時間」に注意してください。問題は未解決のままでしたが、賞金はジェームズに行きました。ジェームズは、RedBotが下線を引いたヘッダーエラーを修正しました。

質問パートC▉(私の最後の報奨金:250ポイント)
残念ながら、REdbot.orgヘッダーエラーでさえ修正された後、PHPで生成された画像によって引き起こされた遅延はそのままでした。これらの小さな3〜5Kbのサムネイルは一体何を考えているのでしょうか。そのヘッダー情報はすべて、ロケットを月に送り返したりすることができます。このボトルネックに関する提案は、私がすでに7か月間このボトルネックの問題に悩まされているため、非常に高く評価され、可能な回答として扱われます。

[私のサイトのいくつかの背景情報:CSSが一番上にあります。下部のJS(Jquery、JQuery UI、購入したメニューawm / menu.jsエンジン、タブjsエンジン、ビデオswfobject.js)2番目の画像の黒い線は、何をロードするかを示しています。怒っているロボットは私のペット「ZAM」です。彼は無害で、しばしば幸せです。]


ロードウォーターフォール:時系列| http://webpagetest.org ここに画像の説明を入力してください


グループ化された並列ドメイン| http://webpagetest.org ここに画像の説明を入力してください


サイト-パフォーマンスの滝| http://site-perf.com ここに画像の説明を入力してください


PingdomToolsウォーターフォール | http://tools.pingdom.com

ここに画像の説明を入力してください


GTmetrixウォーターフォール | http://gtmetrix.com

ここに画像の説明を入力してください


0 投票する
1 に答える
669 参照

c# - DotNetNuke 5.4.4 の認証済みページに Cache-Control: no-store を追加する方法は?

Cache-Control: no-cache, no-storeDotNetNuke 5.4.4 の認証済みページに含める最善の方法を知りたいです。実際、IE6/7 と FireFox でもキャッシュを防止したいと考えています。

あなたの提案は大歓迎です。

0 投票する
1 に答える
6797 参照

ajax - WebContentInterceptor を使用して spring mvc 3 のさまざまな部分にキャッシュを設定しませんか?

こんにちは、Ajax を使用してデータベースからデータをフェッチし、GUI を最新の状態に保つ動的 Web アプリケーションを開発しましたが、IE8 でテストしているときにキャッシュの問題が発生しています。

webmvc-config.xml ファイルで次のコードを使用して、ブラウザーのキャッシュを停止しました。

<mvc:annotation-driven /> <mvc:interceptors> <bean id="webContentInterceptor" class="org.springframework.web.servlet.mvc.WebContentInterceptor"> <property name="cacheSeconds" value="0"/> <property name="useExpiresHeader" value="true"/> <property name="useCacheControlHeader" value="true"/> <property name="useCacheControlNoStore" value="true"/> </bean> </mvc:interceptors>

本来どおりに機能しますが、問題は、ブラウザーが明らかに何もキャッシュしないことです。私が知りたいのは、その xml コードを変更して、Web アプリの Ajax 部分 (5 つのコントローラー ファイルを使用して制御される) に適用する方法です。アイコンなどはまだキャッシュされていますか?これらのコントローラ ファイルへのパスは、「/admin/**」のようなものになります。

Spring WebContentInterceptor には「setCacheMappings」や「setPathMatcher」などのプロパティがあることは知っていますが、xml 構成ファイルで使用されているこれらの例をオンラインで見つけることができる場所はありません。

どんな助けでも大歓迎です、それは本当に私の頭をやっています..ありがとう。ジェイク