1

私はhtml5ボイラープレートベースのプロジェクトに取り組んでいます。PHP スクリプトを呼び出してユーザーのアバター画像を返し、header() を使用して content-type を適切に設定します ('image/jpeg'、'image/png'、'image/gif' は許可している唯一のタイプです)。 )。

画像を要求すると、サーバーは gzip されたキャッシュなしの応答で応答しています。

Cache-Control:no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Cache-Control:public
Connection:Keep-Alive
Content-Encoding:gzip
Content-Type:image/jpeg
Date:Mon, 11 Mar 2013 09:18:23 GMT
Expires:Thu, 19 Nov 1981 08:52:00 GMT
Keep-Alive:timeout=5, max=92
Pragma:no-cache
Server:Apache/2.2.24 (Unix) mod_ssl/2.2.24 OpenSSL/0.9.8e-fips-rhel5 mod_bwlimited/1.4
Transfer-Encoding:chunked
Vary:Accept-Encoding,User-Agent
X-UA-Compatible:IE=Edge,chrome=1

これは明らかに理想的ではありません...キャッシュヘッダーを明示的に設定することはできますが、根本的な問題には対処できません。Content-Encoding: identity を設定すると、とにかく gzip されたデータが送信され、ブラウザが混乱します。

.htaccess ファイル

...もう 1 つテストしました。PHP スクリプトで ini_set('zlib.output_compression', 'Off') を使用し、.htaccess ファイルの名前を変更しても、同じ結果が得られます。私は今、本当に困惑しています。サーバーは easyapache で CentOS 5.9 を実行しています (申し訳ありません!)

PHP スクリプトを使用して画像を提供し、適切なキャッシュおよび圧縮ルールを適用するにはどうすればよいですか?

編集:これを投稿した瞬間、もちろんその一部を解決しました... gzipの問題は、構成ファイルの1つに設定されているいくつかの単純なルールでした。それらを削除すると、部分的には .htaccess ファイルがその仕事をすることができました。それはまだキャッシュを無効にしています。

4

0 に答える 0