1

ほとんどの静的コンテンツのリクエストにキャッシュ ヘッダーを追加するように Apache HTTPD を構成しました。

ExpiresActive On
ExpiresDefault "access plus 1 year"

# Force JNLP and BSH files to expire immediately so updates are checked for
# and seen (We need this so we see changes in the dynamic content in both)
ExpiresByType application/x-java-jnlp-file "now"
ExpiresByType application/x-bsh "now"

UserAgentに文字列 JNLP が含まれるリクエストに対して、このキャッシングを無効にするにはどうすればよいですか? リクエストがユーザー エージェント JNLP (たとえば " ") から送信された場合、HTTP レスポンスにキャッシュ関連のヘッダーを含めUser-Agent: JNLP/6.0 javaws/1.6.0_12 (b04) Java/1.6.0_12たくありません Cache-Control

ユーザー エージェントに基づいていくつかの構成例を見つけることができますが、ユーザー エージェントに応じてキャッシュを構成する方法がわかりません。

4

1 に答える 1

4

あなたのExpiresByTypeディレクティブは良いアイデアのように見えます...それで十分でない場合は、次を使用してみてくださいBrowserMatch:

BrowserMatch JNLP ua_is_jnlp

これにより、ユーザー エージェント ヘッダーに文字列が含まれるすべてのリクエストに対して、環境変数ua_is_jnlpが何らかの値に設定されますJNLP(大文字と小文字を区別しないバリアントもありますBrowserMatchNoCase)。次に、キャッシュヘッダーをクリアできます

Header unset Cache-Control env=ua_in_jnlp
Header unset Expires env=ua_in_jnlp

ただし、キャッシュを完全に無効にしたい場合は、設定したほうがよいでしょう

Header set Cache-Control no-cache env=ua_in_jnlp
Header set Expires 0 env=ua_in_jnlp
于 2009-02-27T21:41:38.717 に答える