2012-01-27 9 views
5

今、私は自分のウェブサイトへの304要求を最小限に抑えようとしています。私はここのために呼ばれる提案を実装しました:問題を最小限にする304要求

Asking browsers to cache as aggressively as possible

しかし、私はいくつかの画像は、彼らが引かれている他のものと同様であっても、キャッシュから引かれることを拒否し何をすべきかに関係なく。今は、IIS 7.5とクロムを使用してネットワークトラフィックを表示しています。ここ

キャッシュから引っ張ってくる画像に対する初期応答、BTN-blue.pngの例である:ここ

Accept-Ranges:bytes 
Content-Length:49585 
Content-Type:image/png 
Date:Fri, 27 Jan 2012 16:02:26 GMT 
ETag:"26cb96cdccc1:0" 
Expires:Sat, 31 Dec 2012 00:00:00 GMT 
Last-Modified:Thu, 26 Jan 2012 20:49:46 GMT 
Server:Microsoft-IIS/7.5 
X-Powered-By:ASP.NET 

は、画像の応答ヘッダ、topnav-の一例です1は引くなぜ

Accept-Ranges:bytes 
Content-Length:2680 
Content-Type:image/png 
Date:Fri, 27 Jan 2012 16:02:17 GMT 
ETag:"b85767a6cdccc1:0" 
Expires:Sat, 31 Dec 2012 00:00:00 GMT 
Last-Modified:Thu, 26 Jan 2012 20:49:47 GMT 
Server:Microsoft-IIS/7.5 
X-Powered-By:ASP.NET 

任意のアイデアを、もう一方はしません:青poweredbyipipeline.png、それがキャッシュから引くことは決してありませんか?

+0

304反応を「最大化する」という意味ですか?キャッシュ関連のヘッダーをレスポンスに追加する必要があります(複数のブラウザがあり、それぞれ異なるブラウザで扱われます)、ETagとExpiresも関連しています。 –

+0

実際には、ブラウザがサーバーをまったく呼び出す必要がないようにしたいと考えています。それをキャッシュから取り出してください。今は304のメッセージが戻ってきていますが、最初にその電話をかける必要はないと思っていました。 –

+0

ブラウザは、特定のURLに少なくとも1回は存在するコンテンツをダウンロードする必要があります。ブラウザーがキャッシュするように "要求する"(サーバーの "方法"と "どれくらいの時間"を指定するかはサーバーに任されます)、それを尊重するのはブラウザーの責任です。サーバーはレスポンスヘッダー(別のリサーチ、私はちょうどあなたに指示を与えている)を介してこれらの指示を提供しています。そして、私はすべての一般的なブラウザーがあなたに嘘をつけることなくそれらの指示を尊重すると確信しています。 –

答えて

5

なぜこのようなことが起こったのかわかりました。キャッシュが積極的にキャッシュを使用するWebページに移動するには、Enterボタンを使用すると分かります。リフレッシュボタンを使用すると、Chromeはほぼすべての要素を呼び出すようになります。

0

あなたがリンクした他の投稿のすべてにCache-Control:max-age =ヘッダーがあります。あなたはそれを試しましたか?私は期限切れとエタグは十分だとは思わないが、キャッシュコントロールも必要だと思うが、実際にはテストしていない。

+0

実際には私もCache-Controlを使用しようとしましたが、同じ結果が得られます。私は両方を使用するIISを取得することはできませんが、あなたが私が試してみたい方法を知っていると思う! –

関連する問題