1

PHPスクリプトから送信された画像を含むWebサイトがあります。ETag が送信され、次のリクエストでチェックされるたびに。それはうまくいきます。最初のページを開くと、すべてのファイルが 200 Ok でダウンロードされ、次のページでは 304 Not Modified でダウンロードされます。

しかし、httpサーバーから直接送信された一部のファイルは、ページを再度開いたときに変更されたイベントがチェックされていないことに気付きましたが、リロード中です(F5)。

If I open the page for the first time:
Files from web server: 200 Ok
Files from php script: 200 Ok

If I press F5:
Files from web server: 304 Not Modified
Files from php script: 304 Not Modified

If I reopen the page:
Files from web server: NO REQUEST
Files from php script: 304 Not Modified

私がやりたいことは、ブラウザがファイルが変更されたかどうかのチェックをスキップし、キャッシュされたバージョンを表示することです。そこで、http および php スクリプトがブラウザに送信している応答を確認しました。

http サーバーからの静的コンテンツ:

Accept-Ranges        bytes
Connection           keep-alive
Content-Length       22033
Content-Type         image/png
Date                 Sat, 15 Mar 2014 10:42:06 GMT
Etag                 "523c1617-5611"
Last-Modified        Fri, 20 Sep 2013 09:32:07 GMT
Server               nginx

PHP スクリプトによって提供されるコンテンツ:

Connection          keep-alive
Content-Type        image/jpeg
Date                Sat, 15 Mar 2014 10:45:16 GMT
Etag                c4ca4238a0b923820dcc509a6f75849b
Server              nginx
Transfer-Encoding   chunked

したがって、違いは次のとおりです。

Accept-Ranges, Content-Length, Last-Modified, Transfer-Encoding

しかし、ブラウザが更新をチェックしないようにすることができると私が思う唯一のものは、Last-Modified です。したがって、Last-Modified を php スクリプトに追加すると、ブラウザは更新のチェックをスキップしますか?

4

1 に答える 1

0

わかりました、アンサーを見つけました。

Last-Modified:firefox を使用すると、画像の読み込みがランダムに行われます。

Cache-Control: max-age=...画像が変更されたかどうかのチェックを完全に停止しました

于 2014-03-16T13:19:40.677 に答える