問題タブ [no-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.
http - キャッシュなし属性の誤解
httpクライアントキャッシュを作成していますが、no-cacheフィールドに疑問があります。
公式ドキュメントによると:
no-cacheディレクティブでフィールド名が指定されていない場合、キャッシュは、オリジンサーバーでの再検証が成功しない限り、応答を使用して後続の要求を満たすことはできません(MUSTNOT)。[...]
no-cacheディレクティブが1つ以上のフィールド名を指定している場合、キャッシュは、キャッシングに関する他の制限に従って、応答を使用して後続の要求を満たすことができます(MAY)。ただし、指定されたフィールド名は、オリジンサーバーでの再検証が成功しない限り、後続の要求への応答で送信してはなりません(MUSTNOT)。
私の質問は、応答全体を再検証せずに、これらのフィールドだけを再検証するにはどうすればよいですか?
html - 新しいウィンドウで開いたときに新しい PDF ドキュメントを自動的に取得する
ヘッダーは、フェッチされたページが常に最新であることを保証できることを知っています: すべてのブラウザーで Web ページのキャッシュを制御する方法は?
しかし、新しいウィンドウで PDF を取得する必要があります。次のコードを使用して PDF を取得していますが、PDF 自体が新しい (キャッシュされていないバージョン) であることを確認するにはどうすればよいですか?
アプリケーションは常に動的に PDF ドキュメントを作成するため、最新のドキュメントが必要です。これを単純に行うことはできませんか?または、これまたは何か専用の PHP ページを作成する必要がありますか?
php - CloudFlare でキャッシュを防止する
私は CloudFlare を使い始めており、それを使用して新しいプロジェクトを構築しています。
変更を加えると問題が発生します。変更内容がブラウザに表示されないため、ここでの問題は CloudFlare のキャッシュ設定にあると思います。
CloudFlare キャッシュに関するこのリンクを読んだので、html に次のメタタグを追加しました。
しかし、問題はまだ残っています。
他のメタタグを配置する必要がありますか、それともサーバー側からのキャッシングを何らかの方法で防止する必要がありますか? (私はPHPを使用しています)
sass - grunt contrib-sass ソースマップの有効化
多くの contrib-sass 機能を grunt で動作させることができません。1日前にうなり声に飛び込みましたが、本当に良いことがわかりました。
ソースマップが機能するはずの contrib-sass リポジトリへのリンク: https://github.com/gruntjs/grunt-contrib-sass/commit/e85ee70ccb8839867172b57ca1378293291f8037
注:私は sass のブリーディング エッジを持っています。この機能はsass --watch --scss --sourcemap --no-cache
、Google クローム カナリア ソースマップと Sass スタイルシートのデバッグを使用すると正常に動作します。
ここに私のGruntfile.jsがあります:
ところで、私がうなり声でまったく新しいと言ったように、私のコードで他の悪い習慣を見つけた場合はお知らせください。また、ftront-end 用の優れたプラグイン名はいつでも大歓迎です。私は多くのプラグインがあることを知りました。
注:なぜか、多くの sass オプションが機能しません。たとえば、noCache、lineNumbers、debugInfo、outputStyle:'compact'、'expanded' (圧縮、ネストされた動作 oO)
〜あえ
javascript - デフォルトページ以外のnocache.jsフォームhtmlページをロードするには?
GWT テクノロジを使用して Web アプリケーションを開発しています。しかし、アプリケーションの読み込み時間の問題に直面しています。読み込みには約 1 分 30 秒かかります。この問題は、アプリケーションが任意のブラウザに最初にロードされたときにのみ直面しています。すべての *.js がプロジェクトに追加されるまでに、最大の時間がかかっていることがわかりました。index.html を最初にロードし、他のすべての html および .js をボタンのクリック時にロードする必要があります。そのために、gwt プロジェクトのデフォルトの html ページ以外のページから nocache.js をロードしたいと考えています。
事前にサンクス
python - ブラウザがキャッシュ コントロールの Python 応答ヘッダーを無視しているようです
現在、webapp2 Python を使用して google-app-engine でアプリを開発しています。Mac、Lion で開発し、Firefox 26、Safari 6.02、Google Chrome でテストしています。
ログインボタンのあるホームページがあります。ログインをクリックしてサーバーにフォームを AJAX で送信します。成功すると、window.location.replace を使用してホームページからログイン ボタンを除いてリロードし、ユーザー ページへのアクセスを提供します。ログアウトすると、サーバー上のハンドラーへの呼び出しがAJAXになり、セッションがダンプされ、成功したら別のwindow.location.replaceを使用して、ログインボタンでホームページをリロードします。
ただし、前後に移動すると、ユーザー アクティビティのページが表示されます。これらのページは AJAX 経由では読み込まれず、すべてサーバーからのリダイレクトまたはwindow.location.href
クライアントからのリダイレクトとして読み込まれます。
Firefox bfcache を使用して localhost で問題が発生しています。これで、ディスパッチ メソッドの Python ヘッダーを次のように設定しました。
そして、Firebug でネットコンソールを確認すると、有効期限はいつかの 1970 年です。
ただし、bfcache はその仕様に従ってページをフリーズさせ、有効期限を尊重せず、戻るボタンをクリックするとページをリロードするようです。
これは、私がローカルホスト上にいるか、テストに http を使用しているためですか? 私は本当にこの bfcache 全体と混同しています。ブラウザーで onpageshow イベントを使用して、このクライアント側で何かを行うことができることは理解していますが、可能であれば、このサーバー側をソートしたいと考えています。
サーバー呼び出しの方向に必要なすべてのコントロールを持っているので、これらのページのいずれかを更新すると、ログアウトしたホームページにリダイレクトされますが、これらのページを強制的に更新することはできません.
cache-control - ブラウザやプロキシがキャッシュするのを防ぐには、キャッシュなし、ストアなしで十分ではありませんか?
私はキャッシュをどこにでも防ぎたいと思っており、control-cache: private、proxy-revalidate、no-cache、no-store を含む応答ヘッダーを持っています。
しかし、ブラウザやプロキシがキャッシュするのを防ぐには、no-cache, no-store で十分ではないでしょうか?