問題タブ [cache-control]

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

java - JSP に Expires または Cache-Control ヘッダーを追加する

JSP でヘッダーExpiresを追加するにはどうすればよいですか? Cache-Control画像、CSS、JavaScript ファイルなどの静的コンポーネントのインクルード ページに、遠い将来の有効期限を追加したいと考えています。

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

ruby-on-rails - Ruby on Rails:AJAXリクエストの場合にコンテンツの有効期限を15分間に設定する方法

次の形式は、AJAXリクエストを検出し、有効期限を15分間に設定して、同じGETがネットワークトラフィックを必要としないようにするための良い形式ですか?

更新: 私はより短い代替案を見つけました、それはexpires_in

ただし、その後、ヘッダーは次のようになります。

かつては

以前のバージョンだったとき。ただし、これCache-ControlはHTTP / 1.1用であり、数年前でも、高性能Webサイトの本で言及されているように、99%のブラウザーでサポートされていたことに注意してください。

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

spring - 箱から出してすぐにキャッシュ制御ヘッダーフィルター?

独自のフィルターを作成しなくても、静的リソースにこれらのキャッシュヘッダーを設定できるようにする、ボックスのキャッシュ制御応答ヘッダーフィルターの権利はありますか?それはそのような一般的な仕事のようです。スプリングフィルターはありますか?現在Tomcat6.0を使用しており、SpringのShallowEtagHeaderFilterを使用してetagをリソースに設定していますが、cache-controlヘッダーも追加する必要があります。

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

http-headers - キャッシュ制御が 10 年で期限切れになるようにするには、doc.css?v=128 を使用していますか? doc_v128.css とまったく同じですか?

ページが 10 年で期限切れにならないようにヘッダーCache-Controlを使用する場合:Expires

行 1 を使用すると、行 2 と同じ結果が得られますか?

?v=128一部のブラウザは、より動的なコンテンツとして 10 年の有効期限が切れる前に再読み込みする のではないかと考えていました。

そうしないと、両方のファイルが 10 年で期限切れになり、CSS に変更があった場合、128129 に更新でき、確実に読み込まれ、新しい 10 年の有効期限が切れますか?

(javascript.jsファイルも同様)

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

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

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

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

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

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

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

http-headers - HTTP ヘッダー "Cache-Control: public" を持つリスクは何ですか?

Cache-ControlHTTP/1.1 ヘッダーは、max-age と、キャッシュ コンテンツをパブリックにするかプライベートにするかを指定できます。これは、中間キャッシュがコンテンツをキャッシュできるかどうかを示します。

たとえば、Ruby on Rails のexpires_in()デフォルトでは、Cache-Control: private

公開するリスクは?公開されている場合、コンテンツをキャッシュできる追加の場所はどれですか?たとえば、プロキシ サーバーでしょうか?

Web サイトが Amazon.com のようなものであるが、ユーザーが匿名である場合、おそらくプライバシーの問題はあまりないでしょうか? ユーザーがログインしている場合、データが場所を通過し、データが表示されるため、プライバシーの問題が発生する可能性があります. その場所が「悪い」ものになりたい場合は、とにかく気にする必要はありませんCache-Control: private

ユーザーがログインできる Web サイトで、その Web サイトが魚油やビタミンなどの健康製品のみを検索する場合はどうでしょうか。その場合、ユーザーがプライバシーの問題を本当に気にすることができる本などのより多くのさまざまな製品がある Amazon.com とは異なるため、関係するプライバシーはさらに少なくなります。

そうは言っても、 have の追加の利点はCache-Control: public何ですか?

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

http - キャッシュ制御におけるプライベートとパブリック

IISでホストされているasp.netアプリケーションのパブリックキャッシュコントロールとプライベートキャッシュコントロールの違いを示す例を教えてください。

私はMSDNで、違いは次のとおりであることを読みました。

Public: Cache-Control:publicを設定して、応答がクライアントおよび共有(プロキシ)キャッシュによってキャッシュ可能であることを指定します。

プライベート:デフォルト値。Cache-Control:privateを設定して、応答がクライアントでのみキャッシュ可能であり、共有(プロキシサーバー)キャッシュではキャッシュできないことを指定します。

それぞれの選択肢の長所と短所を完全に理解したかどうかはわかりません。いつ使用するかしないかの例は素晴らしいでしょう。

たとえば、同じアプリケーションをホストしている2つのWebサーバーがある場合はどうすればよいですか?プライベートまたはパブリックを選択した場合に注意すべき点はありますか?

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

safari - Safari がキャッシュ制御ディレクティブを尊重しないのはなぜですか?

特にユーザーがブラウザーの戻るボタンを押してそのページにアクセスしたときに、ブラウザーに常にロードさせたい特定のページがあります。

そこで、このページのヘッダーで次の 'Cache-Control' ディレクティブを使用します (コードから PHP を直接取得します)。

これは FF、IE、および Chrome で機能しますが、Safari (5.0.1) はディレクティブを無視するようで、ページのリロードに失敗します (複数のユーザーにまたがるため、セットアップ固有の問題ではないようです)。検索しても既知のバグは明らかにされていないので、私の側に何か問題があると思います。

どんなポインタでも大歓迎です。

更新:SOでこの回答が見つかりました。

キャッシュなしを無視する Safari ブラウザ

まだ試していませんが、有望に見えます。body タグに追加されているのは非常に奇妙なので、私は懐疑的です。

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

php - PHP で Cache-Control を上書きできません

古いサイトを新しいサーバーに移動したところ、クライアントが非常に奇妙な動作を発見しました。

最後に非常に近い、私はこのコードを持っています:

奇妙なことは、Cache-Control 行が機能しないことです。パケット スニッフィング後、次のように表示されます。

ヘッダーの順序は私が設定したとおりですが、Cache-Control はまったく異なります。キャッシュ制御についての言及についてコードをgrepしましたが、その言及だけがあり、別のファイルに強制的にキャッシュするように設計された別のものがありますが、それは私が見ているものとは異なる行であるため、原因ではありません。

Cache-Control が変更される理由を知っている人はいますか?

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

firefox - Firefoxのページの非キャッシュ性を克服する

Firefoxの拡張機能を構築して、Webサーバーからページを取得し、それをブラウザーのキャッシュに配置しようとしています。これにより、ユーザーがそのリンクを要求すると、要求するのではなく、キャッシュから直接取得されます。元のWebサーバー。

しかし、「Cache-control:must-revalidate」、「Cache-control:no-store」、「Cache-control:no-cache」、「Pragma」など、キャッシュ可能性を回避するためにヘッダーを配置する一部のページで問題が発生しています。 :キャッシュなし」。

ページが到着したときに、これらのヘッダーをnsIHttpChannelのsetResponseHeaderで上書きしようとしています。ただし、対応するキャッシュエントリのヘッダーは変更されません。次に、nsICacheEntryDescriptorのsetMetaDataElementを試して、メタデータキー「response-head」を変更します。データは変更されますが、ページは元のWebサーバーから取得されたままです。

この問題を克服し、Firefoxのキャッシュからページをロードする方法を知っている人はいますか?これは可能ですか?

前もって感謝します。