2009-04-15 8 views
1

私はアプリケーションを持っており、画像をアプリケーションに読み込ませるためにプロキシを使用しなければなりませんでした。したがって、画像のURLは.jpgではありません.php?var = value既にロードされていても読み込み速度はかなり遅くなりますが、実際の動作は分かりませんが、プロキシされた画像キャッシュされていません。私は正しいですか?プロキシされたアセットはキャッシュされますか?

ありがとうございました。

答えて

2

IE(および多分他のブラウザ)は、任意の種類の?query = string & foo = bar if there are no caching headers in the responseのURLをキャッシュしません。これらをキャッシュするには、Cache-ControlヘッダーとExpiresヘッダーを明示的に設定する必要があります。 PHPで


、ヘッダを設定する方法はこれです:

// can be cached by browser, and also by intermediate caches (i.e. by everybody) 
header('Cache-Control: public'); 

// is fresh (doesn't have to be re-checked) until that date 
header('Expires: Fri, 17 Apr 2009 23:50:00 GMT'); 

は警告:あなたは、出力バッファリングを使用しない限り、コンテンツの前にヘッダを送信する必要があります。

+0

あなたは私に教えてくれ、それを設定する方法を説明する場所を教えてもらえますか?ありがとう。 –

0

あなたのPHPファイルは、キャッシュなしのフラグ、または有効期限が切れている可能性があります。完全なhttpヘッダーを表示するビューアで両方のURLを開いてみてください。

すべてのプロキシには、キャッシュとさまざまなファイルタイプを処理する方法があります。 JPGはしばしば静的ファイルと見なされるため、キャッシュするのが安全です。しかし、PHPファイルは動的スクリプトとみなされ、毎回異なる出力を生成します。しかし、これはあなたのプロキシの設定に完全に依存します。

+0

プロキシはMIMEタイプとヘッダーのパラメータを受け入れますが、MIMEタイプは「image/jpeg」に設定されていますが、ヘッダーをどのように配置すればいいのかわからないため、設定しませんでした。私はヘッダーのために何を置くべきかを知っていますか?ありがとう。 –

+0

スクリプトを実行した後、パラメータheaders == "true"かどうかを調べるだけです。だから私はそれを設定する必要がありますね? –

関連する問題