問題タブ [http-caching]

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 投票する
1 に答える
1230 参照

performance - Safari Mobile(Ipad)が、aspxページで使用されているtelerikおよびMicrosoftCDNリソースファイルをキャッシュしていないようです。

さまざまなTelerikRadControlsを含むaspxWebページがあり、このページが読み込まれるたびに、Safari mobileはすべてのリソースファイルを再度ダウンロードするようです。たとえば、次のファイルは、iPadへの各ページリクエストでダウンロードされます。他の非モバイルブラウザと同じようにキャッシュされます。

これは、CDNリソースがキャッシュしてETAGSを持つように設定されている場合でも、毎回100Kを超えるJavaScriptが渡されます。

ラップトップブラウザが上記のリソースファイルをキャッシュし、ipadがキャッシュしないたびに、ipadとIE / FF/Safariを実行しているラップトップの両方にフィドラーを装備しました。

これが私のアプリがIpadで著しく遅くなる理由だと思いますが、Ipadでのjavasciptの解析も遅いかもしれません...

他の誰かがこの問題を抱えていましたか?ここで明らかな何かが欠けていますか?

ありがとう。

編集

ラップトップをiPadのhttpプロキシにすることで、ラップトップのiPadトラフィックを監視しています。

フィドラーからの追加情報:

Fiddler v2.3.0.0、ラップトップはIE8、iPadバージョンからの結果です。3.2.2。

ラップトップから、http://demos.telerik.com/aspnet-ajax/listbox/examples/default/defaultcs.aspxにアクセスすると

そして、フィドラーで「First Look」を数回クリックした後、次のようになります。

iPadで同じことをすると、fiddlerによって次のように記録されます。

編集2:

私は今日も上記とまったく同じテストを試しましたが、次のことに気づきました。

1)iPadは現在javascriptをキャッシュしています

2)TelerikのデモはCDNを使用していませんが、昨日使用されていました。(上記の結果と比較した以下の結果を参照してください)

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

javascript - 画像を更新するかキャッシュをクリアする

ブラウザにサーバーから新しいバージョンのファイル (画像) を強制的にプルさせる方法 (サーバーまたはクライアント側) はありますか? それ以外の場合、問題の画像は長期間キャッシュされます。たとえば、画像の URL に乱数を追加できることはわかっていますが、この状況ではこれは受け入れられません。まったく同じURLから画像を更新する必要があります。

私がやっていること: ユーザーが動画をアップロードする YouTube のようなポータル。各ビデオには、ポータルのさまざまなページに表示されるサムネイルがあります。ユーザーはいつでもサムネイルを変更できます (生成された 3 つのサムネイルから選択できます)。したがって、これが発生した場合(新しい画像が「元の」画像を上書きする)、所有者(他のユーザーが古いサムネイルを見るかどうかは気にしない)が新しいサムネイルを見ることができるように、ビデオのサムネイルを更新したくありませんサムネイルが表示される場所。

無理だと思いますが、念のためここで質問させてください。

更新: サーバー側で nginx と PHP を使用しています

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

http - ブラウザを別の場所にリダイレクトし、強制的に更新します

ブラウザのキャッシュ無効化についてご提案をお願いします。

httpヘッダーを使用してクライアントに返されるインデックスページがあると仮定します。

ユーザーがそのインデックスページをもう一度ヒットしようとすると、ブラウザがサーバーにリクエストを送信しない可能性が非常に高くなります。つまり、キャッシュされたバージョンのページがユーザーに表示されるだけです。

私の質問は次のとおりです。ユーザーがそのリソースにアクセスすると、ブラウザにキャッシュを無効にしてサーバーに要求する方法でインデックスページにリダイレクトされるように、Webリソース(たとえば、uri / invalidateIndex)を作成することは可能ですか。新鮮なコンテンツのために?

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

java - response.setDateHeader() - キャッシングが機能しない

Web ページの .png ファイルをキャッシュしたい。web.xml に次のエントリを追加しました

init() で次の方法で expiryDate フィールド値を設定します。

doFilter() は次のとおりです。

私の問題は、ブラウザーで Web ページを更新するたびに、クライアントが .png ファイルを要求し続けることです。私のフィルターが機能していないと思います。この構成は正しいですか?

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

http - Googleのホームページのロゴに矛盾する「Expires」ヘッダーと「Cache-Control」ヘッダーが付いているのはなぜですか。

www.google.comで現在使用されているロゴは次のとおりです。

http://www.google.com/images/logos/ps_logo2.png

HTTP応答は次のとおりです。

Cache-Controlヘッダーには、1年間有効であると記載されています。しかしExpires、と同じDateです。つまり、すぐに古くなります。

なぜ違いがあるのですか?

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

caching - キャッシュヒットを示すフィドラー?

特に CDN に移行してから、Web サイトの HTTP キャッシュが機能しているかどうかを確認したかっただけです。

今、私は Fiddler と Firebug の両方を使用しました。私が見ているのは、ページに移動するたびに、ページ上のすべてのスクリプトと画像を要求することです。応答コードは 200 です。

Chrome でページを開くと、開発者ツールにもこれらすべてのリクエストが表示されますが、Chrome はリクエストがキャッシュから提供されていることも通知します。Chrome リクエストは Fiddler にリストされていません (一方、FF および IE リクエストはリストされています)。

私の当初の想定では、Firefox または Internet Explorer がキャッシュからファイルを取得した場合、その要求は Fiddler ではまったく表示されないというものでした。

キャッシュ ヘッダーを確認したところ、Chrome が期待どおりに動作したため、Fiddler に関する私の仮定が間違っていたのではないかと自問自答しました。Fiddler の起動時に FF/IE の動作が異なりますか? Fiddler はキャッシュ ヒットを表示していますか?

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

header - 有効期限ヘッダーのスマートなソリューション

ページ速度を向上させるために、使用する画像、css、および javascript の有効期限ヘッダーを設定したいのですが、css または js スクリプトを変更する際のキャッシュの問題を認識しています。

既存の画像、css、またはjsにどのキャッシュが設定されているかに関係なく、ブラウザーにすべての要素を更新するように指示するxhtmlをロードするファイルにメタまたはその他のタグを追加することは可能ですか?

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

ruby-on-rails - RubyonRailsでログインフォームをキャッシュする

Rails 3のWebサイトがあり、ホームページは静的コンテンツとログインフォームです。このページでHTTPキャッシングを使用したいのですが(Herokuにいます-Varnishの背後にあります)、ログインフォームの認証トークンがキャッシュされ、偽造保護がトリガーされ、最初のセッション以外のすべてのログインが防止されます。

私の最善の行動は、この行動の偽造保護を無効にすることだと思いますが、最初に、関連するリスクを理解したいと思います

それで…このシナリオで偽造保護を無効にするリスクは何ですか?

あるいは、この問題を解決するためのより良い方法はありますか?

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

http - HTTP: 有効期限と検証キャッシュの組み合わせ

次の状況で HTTP キャッシュ ヘッダーを作成するのに問題があります。

私たちのサーバーには、おそらく週に数回変更される大規模なデータがあります。ブラウザがこのデータをキャッシュするようにします。さらに、ネットワークの信頼性が低いため、条件付き get からの待機時間を最小限に抑えたいと考えています。

私が求めている最終的な動作は次のとおりです。

  1. クライアントは、以前に見たことのないリソースを要求します。
  2. max-ageサーバーは、ETag および(24 時間)と共にリソースで応答します。
  3. 24 時間が経過するまで、クライアントはキャッシュされたリソースを使用します。
  4. 有効期限後、クライアントは検証リクエストを実行します ( If-None-Match: [etag])
  5. リソースが変更されていない場合:
    • サーバーは次のように応答します304 Not Modified
    • クライアントは、既存のリソースが今から 24 時間後に新しい有効期限を持つことを何らかの方法で通知されます
    • ステップ3に戻る

要するに、304 応答に新しいmax-age? それとも、オリジナルmax-ageはその後のリクエストに対して尊重されますか?

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

caching - mod_disk_cache を使用すると、静的コンテンツと動的コンテンツの両方を含むページの静的コンテンツのみをキャッシュできますか?

MOD_DISK_CACHE を実装しようとしています。静的コンテンツと動的コンテンツの両方を含むページの静的コンテンツのみをキャッシュすることは可能ですか?

つまり、ユーザープロファイルのホームページをキャッシュしたい場合、すべてのユーザーに共通/一般的なそのページの静的コンテンツをキャッシュしたいだけですが、たとえば"Welcome <Username>!!!"、ユーザーごとに異なる動的コンテンツはキャッシュする必要があります別扱いとなります。

どんな指針もとても役に立ちます。