問題タブ [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.
python - ScrapyプロジェクトをscrapydにデプロイするときにHTTPCACHEが機能しない
Scrapyd で HTTPCACHE を使用しようとすると、次のエラーが発生します。
[scrapy] WARNING: Disabled Httpcache Middlware: unable to find scrapy.cfg file to infer project data dir
apache - Apache Webサーバーの背後にあるNodeJSのJSON-API:キャッシングと圧縮を処理するためのベストプラクティス?
Apache Web サーバーの背後で実行される小さなプロジェクト用に、NodeJS で JSON-API を作成しました。ここで、キャッシュと圧縮を追加してパフォーマンスを改善したいと考えています。基本的に、問題は NodeJS 自体で何をすべきか、そして Apache でより適切に処理できるものは何かということです。
a) API 呼び出しには固有の URL (例: /api/user-id/content) があり、それらを少なくとも 60 秒間キャッシュしたいと考えています。
b) 出力を Gzip として提供したい (クライアントが理解できる場合)。NodeJS の HTTP モジュールは通常、コンテンツを「チャンク」として配信します。応答を 1 か所にしか書いていないので、圧縮してキャッシュできるように Content-encoding ヘッダーを調整して 1 つの部分として提供するだけで十分ですか?
java - How to disable http caching in applet
How can i disable http caching of all my http connections in my japplet? I dont want any of my http (request/response)to be cached.Regardless of the user settings in control panel\java\Temporary File Settings. Applet is signed and compiled with java1.6.
I am using URLConnection.class and my request to an 3rd party web service is being cached.
ie:
I can see my request url in Java Cache Viewer.
http://www.service.com?param1=232¶m2=2323232
Also i can find the responses in application ....users\data\sun\java\deployment\cache
responseline1
responseline2
iis - トラフィックの多い静的サイトの HTTP キャッシュのベスト プラクティスは何ですか?
IIS 7.0 でホストされている大量の画像、スクリプト、CSS を含む、かなりトラフィックの多い静的サイト (つまり、サーバー コードがない) があります。
サーバーの負荷を軽減するためにキャッシングを有効にしたいと考えており、Web コンテンツの有効期限を将来のある時点に設定することを検討しています。IIS では、IIS 応答ヘッダー モジュールの一般的な http ヘッダーの「Expire Web content」セクションを介して、グローバル レベルでこれを行うことができます。おそらく、配信後 7 日で期限切れになるようにコンテンツを設定します。
これが実際に行うことは、max-age
HTTP 応答ヘッダーを設定することだけです。私が知る限り、これは理にかなっていると思います。
さて、混乱:
まず、私がチェックしたすべてのブラウザー (IE9、Chrome、FF4) はこれを無視しているようで、コンテンツが変更されたかどうかを確認するためにサーバーに条件付きの要求を行います。では、max-age 応答ヘッダーが実際にどのような影響を与えるのか完全にはわかりません。古いブラウザでしょうか?それともウェブキャッシュ?
サイト内の画像をすぐに変更したい可能性があります... max-ageが実際に何かによって使用されている場合、その性質上、これが次のことを確認しないと思います画像は 7 日間変更されています...それも私たちが望んでいるものではありません
ベスト プラクティスは、サイトをコンテンツのフォルダーに分割することであり、頻繁に変更されることはなく、これらのフォルダーの長期的な有効期限のみをオンにすることでしょうか? おそらく、必要に応じてこれらのフォルダーのコンテンツを強制的に更新するためにクエリ文字列を変更します (例: /assets/images/background.png?version=2) ?
とにかく、(かなり乾燥した!) HTTP 仕様といくつかのチュートリアルに目を通しても、私たちの状況で何が正しいのかまだよくわかりません。
私たちと同様の状況の実世界での経験は、非常に高く評価されます!
caching - HTTP キャッシング - ファイル変更のチェックは html では機能するが xml では機能しない - Chrome
オリジンが変更されるまでクライアント側でキャッシュしたいファイルが 2 つあります。
HTML ページ (index.html) への呼び出しの応答には、次のヘッダーが含まれます。
xml ページ (application-context-dashboard.xml) への呼び出しの応答には、次のヘッダーが含まれます。
今、それらをリロードすると、index.html に対して、ファイルが変更されたかどうかを確認するために 304 が送信されます。xml ファイルの場合、304 は送信されず、クライアント キャッシュがトリガーされます。
index.html の 304 呼び出し: 要求:
xml ファイルで同じ結果を得る方法はありますか? + html では機能するのに xml では機能しないのはなぜですか? 最初のリクエストの 2 つのヘッダーは同一のようです。
ブラウザ:クローム。
swf、txt などの他の静的コンテンツについても同じ問題が発生します。
アップデート:
どうやら Chrome は index.html に対して問題なく動作しますが、たとえば firefox はそうではありません...
node.js - node.jsの.net出力キャッシュに相当しますか?
asp.net からのノードは初めてなので、node.js でキャッシュを実装するのに最適なモジュール/フレームワークに興味がありました。いくつかの高価な db クエリをキャッシュしたいので、db の結果または http ページの出力全体をメモリにキャッシュする簡単な方法を探しています。
.net では、httpcache またはページ出力キャッシュのいずれかを使用します。ノードの世界に同等のものはありますか?
これを行うには、ローカルの memcached または redis サーバーを設定するだけでよいですか?
ruby-on-rails - 「Vary: If-None-Match」を使用して、モバイルとデスクトップのリクエストを別々にキャッシュします
注:私の仮定が間違っている場合は修正してください。これについてはよくわかりません...
私は Heroku で HTTP キャッシングをいじっており、Heroku で Varnish を使用してキャッシングするときにモバイルとデスクトップのリクエストを区別するための良い方法を見つけようとしています。
私の最初のアイデアはVary
、キャッシュが Vared on になるようにヘッダーを設定できるということでしたIf-None-Match
。Rails はコンテンツのハッシュから生成された etag を自動的に送り返すため、etag はデスクトップとモバイルの要求 (異なるテンプレート) の間で異なり、最終的には 2 つのバージョンをキャッシュします (事実ではなく、私の最初の考えです)。私はこれで遊んでいますが、うまくいかないと思います。
まず、何かがキャッシュされるとき/場合に頭を包み込むことはできませIf-None-Match
ん。次に、実際には新しいリクエスト (If-None-Match のないリクエスト) がモバイル サイトを受信することがあります。If-None-Match
これは、ヘッダーが存在しないため、モバイルまたはデスクトップのキャッシュ バージョンを提供するかどうかをキャッシュが認識していないためですか?
おそらく聞こえるかもしれませんが、私はかなり混乱しています。このアプローチは何らかの方法で機能しますか、それとも私はばかげていますか? また、(Heroku を使用しているため) Varnish 構成にまったくアクセスできない場合、個別のキャッシュ バージョンを取得する方法はありますか?
Railsでキャッシュヘッダーを設定するために使用している正確なコードは次のとおりです。
編集:使用できることは承知しVary: User-Agent
ていますが、ミス率が高いため(多くのユーザーエージェント)、可能であれば回避しようとしています。
java - Java の HttpURLConnection を使用して「条件付き get」を実行しようとしていますが、304 ステータス コードを取得できません。
これが私のコードです:
HTTP_NOT_MODIFIED 応答コードを取得することはありません。同じサーバーに何度も連続してアクセスしても、ページに変更はまったくありません。また、conn.getHeaderField("ETag") は常に null を返すようで、場合によっては conn.getHeaderFieldDate("Last-Modified", 0) が 0 を返します。さまざまな Web サーバーに対してこれを試しました。
誰が私が間違っているのか教えてもらえますか?
http-caching - ブラウザのキャッシュを活用し、キャッシュバリデーターを指定する
http://gtmetrix.com/reports/enji.se/RVzr15zT
それが私の結果のようです!
ブラウザのキャッシュを活用してキャッシュバリデーターを指定する方法を知っている人はいますか?
私はそれをグーグルで検索しましたが、何も見つかりませんでした:/
私はApacheを持っています
よろしくお願いします、enji
apache - リクエストに応じて mod_expire を有効にする
へのリンクを生成する代わりにfile.js
、バージョン番号またはハッシュ サムを計算して にリンクしていfile--bbe02f946d.js
ます。次のリダイレクト ルールを使用して、現在のバージョンのファイルを提供しています。
ここで、これらのリクエストに対して非常に離れたExpiresヘッダーを設定したいと思います。
これは正常に機能しますが、まだバージョン管理されていないリソース (/file.js
リクエスト) にも適用されます。RewriteRule に一致するリクエストに対してのみ、expires ヘッダーを設定するにはどうすればよいですか? 通常は を使用<LocationMatch>
しますが、htaccess を変更するだけでアプリケーションを任意のサーバーで実行できる必要があるため、これは使用できません。