2015-09-07 20 views
24

プロダクションサーバーにプロジェクトを移動した後、画像などの静的ファイルはステータスが "304 not modified"で返されませんでした。ただし、 "Last-Modified "および" Expires "地元で304は静的ファイルでは変更されていません

リクエストヘッダ

Accept:image/webp,image/*,*/*;q=0.8 
Accept-Encoding:gzip, deflate, sdch 
Accept-Language:ru-RU,ru;q=0.8,en-US;q=0.6,en;q=0.4,uk;q=0.2 
Cache-Control:max-age=0 
Connection:keep-alive 
Cookie:_LANG=ru 
DNT:1 
Host:test.com 
If-Modified-Since:Mon, 07 Sep 2015 08:46:37 GMT 
If-None-Match:"1D0E949B4DCD480" 
Referer:http://test.com/ru/Some/Index/ 
User-Agent:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML,  like Gecko) Chrome/45.0.2454.85 Safari/537.36 

レスポンスヘッダ

HTTP/1.1 200 OK 
Cache-Control: public 
Content-Type: image/png 
Expires: Tue, 08 Sep 2015 14:33:06 GMT 
Last-Modified: Mon, 07 Sep 2015 08:46:37 GMT 
Accept-Ranges: bytes 
ETag: "1D0E949B4DCD480" 
Server: Microsoft-IIS/8.0 
X-AspNet-Version: 4.0.30319 
X-Powered-By: ASP.NET 
Date: Mon, 07 Sep 2015 14:33:06 GMT 
Content-Length: 5953 

すべてが正常に動作する "IIS表現"。

ローカルレスポンスヘッダ

HTTP/1.1 304 Not Modified 
Cache-Control:public 
Date:Mon, 07 Sep 2015 14:38:12 GMT 
Etag:"1D04A9052E17E00" 

プロンプト、理由何ができるかでは?

Web.configファイルは同一です。

ありがとうございます!

UPD 1:

chrome network console chrome request

UPD 2:

ローカルマシンのキャッシュのスナップショットが返す画像

C:\Users\dev>netsh http show cachestate 

Snapshot cache responses HTTP:: 
-------------------------------- 

URL-address: http://dev2-pc:1437/Views/CustomMeme/byby/img/header.jpg 
Status Code: 200 
Команда HTTP: GET 
Тип политики кэша: Срок жизни (TTL) 
Срок жизни записи в кэше (сек): 86399 
Время создания: 2015.9.8:12.14.41:0 
Имя очереди запросов: Clr4IntegratedAppPool{737BCE3B-FD81-4AB4-B976-A3A8C8A-94D8} 
Тип содержимого: image/jpeg 
Кодировка содержимого: (null) 
Длина заголовков: 415 
Длина содержимого: 49017 
Число обращений: 3 
Принудительное отключение после обслуживания: FALSE 

しかし、リモート(生産)SERキャッシュスナップショットのver、私が理解からステータスコード304

C:\Users\Администратор>netsh http show cachestate 

Snapshot cache HTTP responses: 
-------------------------------- 
The cache contains entries that match the specified URL-address 
+2

リクエストヘッダーが 'プラグマ含まれていることを好奇心:無cache'にします。開発者ツールが開いている間にブラウザがキャッシュを無効にするように設定されていますか? –

+0

@ChrisCurtis、あなたの答えのおかげで、 'Pragma:no-cache'はレスポンスに影響しません。私は質問テキストを更新し、いくつかのスクリーンショットを追加します。 –

+0

web.configは同じですか?運用サーバーでは静的キャッシュが無効になっていますか?これには多くの変数があります。静的コンテンツの有効期限は、IISレベルまたはweb.configで有効にするのが理想的です。 –

答えて

-1

空である「、サーバがブラウザに指示することを意味ねえ、あなたが要求している画像は、XXXX/XX/XX以降に変更されていない、あなたの地元を使用キャッシュはうまくいくはずです! "したがって、開発マシンとプロダクションサーバーの不一致は、プロダクションサーバーのIIS設定によって発生する可能性が最も高くなります。あなたがクリックF12で「開発者ツール」をオンにすることができ、

  • はクロームで(WebブラウザでWebページに「ハードreload」を実行し、その後、右:あなたは今のところ試すことができますどのような

    です

  • 開発マシンでIIS Expressの代わりにIISをインストールし、IIS内でWebアプリケーションを実行してください。 IISと運用サーバーIISとの間のデフォルトの設定の相違は、開発マシンの運用サーバー環境を模倣しようとします。
  • 明示的にIISキャッシュを無効にしてください。あなたはここでそれを行う方法を見つけることができますhttps://serverfault.com/questions/117970/iis-7-returns-304-instead-of-200

希望は、これが役立ちます! Henry

関連する問題