問題タブ [browser-cache]

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

amazon-s3 - 画像のブラウザ キャッシュとリンクの有効期限のバランスを取り、帯域幅の盗難を回避する

イメージを Amazon S3 でホストし、Amazon Cloudfront を通じて提供しています。帯域幅の費用を削減したいと考えています。かなりの帯域幅の盗難が発生していると考えており、これを防ぐために署名付き URL の使用を開始したいと考えています。ただし、これと、署名付きの新しい URL を送信するたびに画像のブラウザ キャッシュが無効になるという事実とのバランスを取る必要があります。

現在の計画では、2 か月間有効な署名付き URL を生成し、それをローカルにキャッシュして 1 か月間提供してから、新しい署名付き URL を生成する予定です。これにより、ブラウザは画像をより長くキャッシュできます。ただし、これは、誰でも画像の帯域幅を最大 2 か月間リーチできることも意味します。

リンクの有効期限を早める方法はありますが、ブラウザはその画像をキャッシュし続けますか? URL が新しいタイムスタンプに再署名されても、画像の etag と If-Modified-Since が変更されないことはわかっていますが、ブラウザはヘッダーでこれらの値を送信することを認識していません。これは新しい URL です。この問題を回避する方法はありますか?

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

ruby-on-rails - Webサーバーの1つに時計が少しずれている場合、キャッシュは機能しますか?

ExpiresCache-Controlヘッダーが機能するには、Webサーバーのクロックが同一である必要があると言われていますか?何故ですか?1秒または数分遅れることはありませんか?

キャッシュが1年間有効であると想定される場合、1つまたは一部のWebサーバーでは、数分または数時間の時差は問題になりませんか?

ドキュメントでは、次のように述べられています。

この[キャッシュ]が機能するためには、すべてのアプリケーションサーバーが同じタイムスタンプを返す必要があることに注意してください。これは、クロックを同期させる必要があることを意味します。それらの1つが同期しなくなった場合、ランダムに異なるタイムスタンプが表示され、キャッシュは機能しません。その場合、ブラウザは、変更されていなくても同じアセットを何度も要求します。Firefox用のライブHTTPヘッダーなどを使用して、キャッシュが実際に機能していることを確認できます。

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

browser - ブラウザ キャッシュ: 何かを変更すると、ユーザーはローカルにキャッシュされたバージョンではなく、新しいバージョンを取得するように強制されます

私たちは Web サイト (キャッシュを使用) で頻繁に変更を行いますが、ユーザーはページの最新のコピーを取得するためにページを更新する方法を知らない場合があります。

ページを更新する場合、新しいサーバー バージョンがあることをユーザーのブラウザに認識させ、ブラウザのキャッシュ ページではなくそれを使用させるにはどうすればよいでしょうか?

0 投票する
8 に答える
124574 参照

html - link および script タグの CSS および JavaScript URL に「?v=1」を追加するとどうなりますか?

HTML 5 ボイラープレート テンプレート ( http://html5boilerplate.com/"?v=1"から) を見ていて、CSS および JavaScript ファイルを参照するときに URLで が使用されていることに気付きました。

  1. link および script タグの CSS および JavaScript URL への追加は何をし"?v=1"ますか?
  2. すべての JavaScript URL に"?v=1"(以下のサンプルの例: js/modernizr-1.5.min.js) があるわけではありません。これが事実である理由はありますか?

からのサンプルindex.html:

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

java - そのアプリのバージョンがGWTで変更されたことを知る方法は?

GWTアプリケーションがクライアントブラウザーで実行されているユースケースがあり、Tomcatを停止して、関連するWARを更新します。
私がしたいのは、Tomcatをロードすると、既存のすべてのクライアントが自動的にリロードされるため、正しいバージョンのアプリケーションが使用されるようになることです。

現在、私は2つの問題に直面しています。

  1. 現在ロードされているアプリケーションに、廃止されてリロードする必要があることを通知する方法がわかりません。GWT-RPCの失敗の理由が404であるため、リロードする必要があることをアプリで何らかの方法で特定することを考えていますが、これをどのように特定できるかわかりません。もちろん、すべてのGWT-RPCでリロードすることはできません。サーバーが理由もなくダウンしている可能性があり、問題なく1〜2秒でバックアップされるためです。
  2. 何らかの理由で、moduleName.nocache.jsファイルがキャッシュされるため、手動で更新しても、アプリが存在しないリソース(以前のバージョン)を探しているため、キャッシュを削除すると、サーバーで404リクエストが表示されます。ブラウザのこれは解決されます。これがキャッシュされる理由を誰かが知っていますか?この点に関して、私はサーバー設定に何も変更していません。

編集:
1。これを行うGWTの簡単な方法はないようです。そのため、モジュールが読み込まれるとmodule version、Doubleを受け取り、GWT-RPCが失敗した場合、モジュールはサーバーに現在module versionの不一致がある場合は、ページをリロードします。モジュールバージョンのクエリに使用されるGWT-RPCは一定であり、互換性の理由から変更されません。このように、他のすべてのGWT-RPCメソッドがモジュールを変更した場合でも、このメソッドが有効であることが保証されます。
2. BalusCの提案のおかげで、ファイルは5〜10分間だけキャッシュされるようです。そのため、この領域で非決定論的な動作が見られます。別の質問を開きましたGWTではなくコンテナに関連していることをどこかで読んだときに、単一のjsファイルにヘッダーを設定する方法について説明しました。ありがとう、
イッタイ

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

asp.net-mvc - SSLハンドシェイクの問題?(前: Web ページがハングします。ブラウザのキャッシュをクリアするだけで解決します)

最新の調査データを随時更新しておりますので、最後までご覧ください。現在、サーバー側の WireShark ログについてサポートが必要です。

ASP.NET MVC Web アプリケーションで奇妙な問題が発生します。フォーム ポストのタイムアウトやハングを経験するユーザーはほとんどいないため、[送信] をクリックした後は永遠に続き、次のページに進みません。奇妙なことに、これはブラウザのキャッシュをクリアすることで解決されます。この 2 つのことがどのように関連しているのか理解できません。また、ユーザーは FireFox 3+ で発生するが、FireFox 1.5 および 2.0 では発生しないと報告しています。私と多くのユーザーは、IE、FireFox、および Linux/Windows の両方でこれを再現できません。

ブラウザのキャッシュがフォームの POST 処理にどのように、またなぜ影響するのでしょうか?

OK ユーザーと FireBug に確認しました。POST リクエストが表示されますが、長いタイムアウトの後に失敗します。サーバーは要求を受信しません。少なくとも、ログを記録するベース コントローラーの OnBeforeExecuting や IIS ログ ファイルでは受信しません。応答は空です。また、リクエストに時間がかかりましたが、最終的に実行された後、サーバー上では実行にほとんど時間がかからないことがわかりました。

私が見る限り、これは jQuery Form プラグインで行われた AJAX リクエストで発生します。パラメータで cache: false を設定しようとしましたが、成功しませんでした。

実際、私はAJAXなしで試してみました.plain submit - 同じです。また、jQuery フォーム プラグインが $.ajax() を呼び出して戻ることもわかります。POST リクエストを開始していることがわかります。しかし、サーバーの IIS ログにこの要求が表示されないことがあります。1 分後になることもあれば、FireBug .Net ペインで中断されることもあります。

面白いことに、FireFox のキャッシュ/Cookie/フォームと投稿データをクリアすると、次の投稿もハングします。

また、要求は、選択されたコンポーネントに関する情報を GUID の形式で送信します。コンポーネントが選択されていない場合は、問題なく動作するようです。コンポーネントは、実際には JavaScript によってチェックされる非表示のチェックボックスです (送信時ではなく、以前)。これは、POST データで「選択された」パラメーターです。コンポーネントが選択されていない場合はハングしないようですが、一度だけ試してみましたが、後でさらに調査する可能性があります。

この追加情報について何か考えはありますか?

投稿データ

order=842f2988-abff-413c-a092-9dde00a8b9a8&selected=f98c9ad8-49e0-4a9f-9966-9d3d01203aa5_a1d659c0-b8ec-4f91-ba2f-9d3d01203a4c&selected=f98c9ad8-49e0-4a9f-9966-9d3d01203aa5_d6e1984e-227d-4bd0-b8d2-9d3d01203a4d&selected=f98c9ad8- 49e0-4a9f-9966-9d3d01203aa5_0b7cbc1a-35f1-4db8-856b-9d3d01203a4c&selected=f98c9ad8-49e0-4a9f-9966-9d3d01203aa5_0cc7ef9b-085f-4b50-acdb-9d3d01203a4c&selected=f98c9ad8-49e0-4a9f-9966-9d3d01203aa5_ad273397-ed5d-49bb-b181- 9d3d01203a4c&selected=f98c9ad8-49e0-4a9f-9966-9d3d01203aa5_b5fbf67f-202f-464b-a9e4-9d3d01203a4c&selected=f98c9ad8-49e0-4a9f-9966-9d3d01203aa5_ae275579-8163-4f6b-9d36-9d3d01203a4c&selected=f98c9ad8-49e0-4a9f-9966-9d3d01203aa5_73fa066c-0467- 4bc6-aa91-9d3d01203a4c&selected=f98c9ad8-49e0-4a9f-9966-9d3d01203aa5_5020b52f-baa2-4aea-be10-9d3d01203a4d&selected=f98c9ad8-49e0-4a9f-9966-9d3d01203aa5_8b2cd95a-c014-4c83-9ec6-9d3d01203a4d&selected=f98c9ad8-49e0-4a9f-9966-9d3d01203aa5&submit=Add+To+Suite

WireSharkをインストールしました。直接制御しないと使いにくい (リモート ユーザーは私のコマンドに従う) が、[送信] をクリックした直後に、サーバーの IP アドレスに TCP 要求が送信されていることがわかりました。したがって、ブラウザはリクエストを行います。

リモート ユーザーに、IT/ネットワーク サポートと協力して、要求がクライアントから送信されたかどうか、またはサーバーに到着したかどうかを確認するように依頼しました。

そして、ここに非常によく似た問題がありますが、残念ながら答えはありません: https://stackoverflow.com/questions/3355000/my-iis-server-wont-serve-ssl-sites-to-some-browsers

これは、サーバーからの WireShark ログです。送信が開始され、SSL 変更暗号/ハンドシェイクが発生し (90 秒以内に!)、長い時間が経過した後、最終的にリクエストが失敗します。

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

cross-browser - JavaScriptファイルとCSSファイルをバックグラウンドでプリロードして、ユーザーがメインページに移動したときにブラウザーのキャッシュで準備できるようにするにはどうすればよいですか?

ランディングで変換した後、メインサイトのロードを最適化するために、ランディングページからJSファイルとCSSファイルをプリロードしたいと思います。私はこれについての情報を探していて、最終的にこれを使用してこれを成し遂げようとしました:

Firefoxの場合はこれは素晴らしいですが、Chromeの場合、XHR呼び出しはcssファイルやjsファイルとは異なるキャッシュにキャッシュされているようです。JQueryは使用しません。ランディングページは軽量である必要があります(負荷が少なく、コンバージョン率が高い)。

元の問題を解決するための別の方法の推奨事項はありますか?(コンポーネントのプリロード)

Chromeにこれらのリクエストをキャッシュさせる方法を知っていますか?

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

javascript - jQueryhtml応答

$ .ajaxによって返された応答がブラウザーのキャッシュから提供されたのか、それとも新鮮であったのかを判断することは可能ですか?

ありがとう。

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

javascript - ブラウザのキャッシュを無効にする

私はRESTサービスを実装し、クライアントとしてWebページを使用しています。私のページには、RESTサーバーへの同じhttp getリクエストを数回実行し、応答を処理するjavascript関数がいくつかあります。

私の問題は、ブラウザが最初の応答をキャッシュし、実際には次の要求を送信しないことです。

ブラウザにキャッシュせずにすべてのリクエストを強制的に実行させる方法はありますか?InternetExplorer8.0を使用しています

ありがとう

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

internet-explorer - IE6画像をキャッシュしない

Webアプリケーションを本番TomcatWebサーバーにすでにアップロードしました。
すでにテストしようとしていますが、FF / IE7 / IE8で正常に動作しますが、IE6での表示に問題があります。

ステータスバーで、IE6が時々画像をダウンロードしているように見えることに気づきました。何もクリックしなかったのに、画像をダウンロードします。

画像を使用するメニューを使用していますが、IE6ではうまく表示されません。問題は、ターゲットユーザーの60%がこのブラウザーで実行されていることです。

これはブラウザのキャッシュの問題だと思い始めています。すべてのJSPで、すべてのヘッドセクションのメタタグの下に配置します。これを行ったのは、アプリがAjaxに大きく依存しており、Webリソースの最新のコピーが必要だからです。

これが原因である可能性があり、これに対する回避策はありますか?IE6にこれらの画像をキャッシュさせるにはどうすればよいですか?ありがとう。

これがあなたが探しているものであるかどうかは正確にはわかりませんが、何かが足りない場合は親切にアドバイスしてください。

これは、ダウンロードされている画像の例です。このアプリはローカルのイントラネットWebサイトでのみ実行されることを忘れました。

@ペッカ、これはあなたが探しているものですか?