問題タブ [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.
browser-cache - ブラウザは、有効期限ヘッダー、キャッシュ制御ヘッダー、last-modified-headerでどのように機能しますか?
私はWeb開発者であり、PHPと.NETの両方を使用しています。Webでの作業に1年以上の経験があり、ブラウザのキャッシュ機能を完全に理解することはできませんでした。ここのWebGurusが私を助けてくれることを願っています。私が頭に浮かぶ質問は次のとおりです。
- ブラウザは実際にどのようにデータをキャッシュしますか、キャッシュされたファイルがサーバー上で変更されたかどうかを確認するように要求しますか?
- 開発者がブラウザのキャッシュを最大限に活用するだけでなく、まったく面倒なことなくサイトに新しい変更をプッシュできるようにするための理想的な方法は何ですか。ブラウザがどういうわけか私のCSSとJSと画像をキャッシュし、サーバーへの変更を毎回チェックするだけなら、これで問題を解決できると思います。しかし、私はそれを行う方法がわかりません。
html - 入力値をキャッシュ/保存しないようにブラウザに指示するページを作成します
ほとんどのブラウザはフォーム入力値をキャッシュします。したがって、ユーザーがページを更新すると、入力の値は同じになります。
これが私の問題です。ユーザーが[保存]をクリックすると、サーバーはPOSTされたデータ(チェック済みの製品など)を検証し、有効でない場合はブラウザーに送り返します。ただし、前述のように、サーバーが一部の値の選択をクリアした場合でも、ブラウザーのキャッシュのためにそれらが選択される可能性があります。
私のデータには(親アイテムが選択されるまで)非表示のチェックボックスがあるため、ユーザーは、もう一度[保存]をクリックしてエラーメッセージが表示されるまで、以前の値が選択されていることに気付かない場合があります。これは苛立たしいです。
これはCtrl+を実行することで解決できますがF5、解決策ではありません。一部のフォーム/ページにフォーム入力データをキャッシュしないようにブラウザに指示する自動/プログラムによる方法はありますか?
caching - firefox/chrome が IE8 とは異なるページを表示するのはなぜですか?
この公開された Google Docs ドキュメントを見ると、Firefox と Chrome の最新バージョンが表示されますが、IE8の古いバージョンが表示されます。また、 PHP/Curlを介してスクリーン スクレイピングすると、古いバージョンが得られます。
IE8 でCTRL-Refreshを試しましたが、最新バージョンが表示されません。PHP/Curl でどのヘッダーを変更しようとしても、最新バージョンが表示されません。
注:IE8を掘り下げて、クリアするキャッシュエントリを見つけることができると確信していますが、たとえばcnn.comで発生しているこのURLで何が発生していないかは、実際に見るたびに最新のニュースを提供してくれます数日前のサイトのキャッシュされたバージョンではなく、IE8で?たとえば、キャッシュされたバージョンを表示しないために、ブラウザ (または少なくとも IE と PHP/Curl) が期待するある種のヘッダーを Google Docs が送信していませんか?
ここでブラウザ/ヘッダー/キャッシュについて理解していないことは何ですか? 異なるブラウザーが 1 つのページの異なるコンテンツを表示するのはどうしてでしょうか?
(ソース: deviantart.com )
html - SOのフォームは以前の入力値をどのように記憶しますか?
ブラウザの[戻る]ボタンを押して[質問する]ページに戻ると、タイトルまたは本文の部分が記憶されていることに気付きました。
この機能は、テストしたすべてのブラウザーで使用できますが、自分のプロジェクトのフォームには存在しません。
どうすればその効果にアプローチできますか?
アップデート
私はまだ手がかりを持っていませんが、httpヘッダーまたはjavascriptによって有効にされたある種のクライアントキャッシュだと思いますか?
performance - 期限切れヘッダーの説明
Apache で作業している joomla アプリケーションがあります。サイトのパフォーマンスを向上させるために、.htaccess ファイルをアプリケーションのルートに書き込み、すべての静的コンテンツに遠い将来の期限切れヘッダーを設定しました。必要に応じて、最初にファイルが 200 ステータス コードで新しく読み込まれます。同じリンクをもう一度クリックすると、多くのファイルがキャッシュから直接提供されます。2つのことについて説明が必要です
f5 を押すと、いくつかのファイルが 304 ステータス コードでロードされますが、ステータス ヘッダーを取得するためにサーバーにヒットすることなく、キャッシュから直接ファイルが読み込まれると予想していましたか?
ブラウザを閉じて再び同じページに戻ると、ブラウザのキャッシュから直接読み込まれると思っていたのに、304 ステータス コードで多数のファイルが読み込まれるという同じことが起こっていることがわかります。
304 もブラウザ キャッシュからファイルを提供することは理解していますが、静的ファイルは決して変更されないため、サーバー間のヘッダー通信を避けたいと考えています。また、リクエストが https 接続を介して行われていることを追加したいと思います。これにより、問題が発生します。
java - IEキャッシングを防止する
Strutsを使用してJavaEEWebアプリケーションを開発しています。問題は、InternetExplorerのキャッシュにあります。ユーザーがログアウトすると、キャッシュされて要求が行われないため、一部のページにアクセスできます。更新を押すと正常に動作します。また、ユーザーが再度ログインページにアクセスしても、そのページもキャッシュされるため、リダイレクトされません。
2つの解決策が思い浮かびます。
- インターセプター(サーブレットフィルターのような)を記述して、応答ヘッダーのキャッシュなしなどに追加します。
- または
<meta>
、各ページにタグを付けます。
どちらをすればいいですか?
browser-cache - ファイルは通常、ブラウザのキャッシュにどのくらいの期間保持されますか
ファイルは通常、ブラウザのキャッシュにどのくらいの期間保持されますか?私は一般的な人口について疑問に思っています-ほとんどの人のキャッシュがファイルを再フェッチすることを合理的に確信するまでどれくらい待つ必要がありますか?
asp.net - ブラウザーに画像をキャッシュするように依頼する (ASP.NET/IIS)
Google の Page Speedアプリケーションをサイトに対して実行したところ、推奨事項の 1 つは、ブラウザのキャッシュを活用することでした。これを拡張すると、次のことが明らかになりました。
次のキャッシュ可能なリソースの鮮度の有効期間は短いです: 次のリソースの有効期限を少なくとも 1 週間先に指定してください:
<
画像の長いリスト>
<
いくつかの JavaScript ファイル>
特定の画像の「鮮度の寿命」を延ばすにはどうすればよいですか?
IIS7.5で動作するASP.NETプロジェクトです。
php - PHPで同じファイル名の画像を再アップロードするときにブラウザのキャッシュをクリアする方法は?
画像のサムネイルも含むアイテムのリストがあります。サムネイル画像を変更する必要がある場合もありますが、ファイル名はそのままにしておきます。ブラウザのキャッシュから取得する代わりに、ブラウザに新しくアップロードされた画像を強制的にダウンロードさせる方法はありますか?
これは、人々がアバターを更新する場合に非常に関係があり、ブラウザのキャッシュをクリアするか、ブラウザを再起動するまで、古いアバターを見続ける一部のユーザーに混乱を引き起こします。
ruby-on-rails - Ruby on Rails:AJAXリクエストの場合にコンテンツの有効期限を15分間に設定する方法
次の形式は、AJAXリクエストを検出し、有効期限を15分間に設定して、同じGETがネットワークトラフィックを必要としないようにするための良い形式ですか?
更新: 私はより短い代替案を見つけました、それはexpires_in
ただし、その後、ヘッダーは次のようになります。
かつては
以前のバージョンだったとき。ただし、これCache-Control
はHTTP / 1.1用であり、数年前でも、高性能Webサイトの本で言及されているように、99%のブラウザーでサポートされていたことに注意してください。