2016-04-13 2 views
0

スタティックファイルをブラウザにキャッシュするようにしました。少し時間(10秒)。ページを更新するときにが正常に動作していると思われます()。 - 新規の場合は - 最初の10秒間にソフトリフレッシュする場合はキャッシュからサービスを提供します。 -30秒後に来る場合は304です。アクセプト符号化を変えるとキャッシュされない最大のキャッシュヘッダー

私は、HTTPヘッダーを追加するときは、「ヴァリ」:「のAccept-encoding」のをそれは、ブラウザのキャッシュが(私は常にサーバーを打つ)もはや機能しないことを意味し、動作を停止します。これは、Httpヘッダー 'Vary'を追加するたびに、HTTP要求がif-modified-sinceまたはif-none-matchの送信を停止するためです。

キャッシュ制御と互換性のある互換性はありますか?

私は誰かが、いくつかの解決策を提案できる場合には、HTTPリクエストとレスポンスを残す:エクスプレス

Request Header 
accept:*/* 
accept-encoding:gzip, deflate, sdch 
accept-language:en-US,en;q=0.8 
cache-control:max-age=0 
cookie:XXXXX 
referer:XXXXXXXXX 
user-agent:Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.75 Safari/537.36 


Response Header 
cache-control:max-age=10 
content-encoding:gzip 
content-type:application/javascript 
date:Wed, 13 Apr 2016 12:34:57 GMT 
etag:W/"XXXXXXXXXXXXXX" 
last-modified:Wed, 13 Apr 2016 12:34:25 GMT 
server:nginx/1.9.14 
status:200 

vary:Accept-Encoding 

x-powered-by:Express 

を私は静的ファイル用の応答ヘッダを設定するには、この設定を持っている:

var setHeaders = function(res, path) 
{ 
    res.setHeader('Cache-Control', 'max-age=10'); 
    res.vary('Accept-Encoding'); 
}; 

app.use('/static', express.static('./app/static', {setHeaders: setHeaders})); 
+0

あなたは、あなたが使用している 'nginx'設定を提供してもらえますか? – Castaglia

答えて

0

私は自己証明書の問題がありました。それは問題を引き起こしていたようです。ヘッダがなければ、証明書がインストールされていなくても、すべてが正しく動作しているようです。それにもかかわらず、さまざまなヘッダーの問題を使用しているときにキャッシュに表示されます。

自己証明書をインストールすると機能しました。

ソリューションから来た:私たちは、おそらく何かがあなたが見ている行動の原因があるかどうかを判断できるようにWhy browser does not send "If-None-Match" header?

関連する問題