2010-11-26 2 views
0

Etagの検索をオーバーライドしたいと思っています。なぜなら、各リクエストの待ち時間がかなり大きいため、ページが遅くなっているようです。ETagルックアップをオーバーライドしますか?

任意のアイデア...ヘッダがトリックを行うように思えません有効期限?

+1

あなたはどのようにそれをETagsの欠点と考えていますか? – deceze

+0

私はそれがまだルックアップを作っている理由を知らない...私はすべてのファイルを期限切れのヘッダーを与えました! :( – RadiantHex

答えて

0

ビューからの応答オブジェクトでは、好きなようにETagを設定できます。これにはCommonMiddlewareを使用し、USE_ETAGSTrueに設定する必要があります。

しかし、本当にしたいのは、ビューを呼び出さないことです。キャッシュデコレータを使用して結果をキャッシュするのはなぜですか?

The code for etag handling.

0

私は、人々は、彼らが実行されているApacheのバージョンを明記質問をしてほしいです。これは非常に混乱する可能性があります。 FileETagディレクティブ(少なくともApache 2.0と2.2)を見てください。ファイルを生成したETagません//

FileETagなし

は、各要求はかなり大きいですFileETag

+0

彼がApacheを使用していることを暗示するものは何もありません – knutin

+0

彼はそれにタグを付けました。Apache:P – Rahly

0

を参照してくださいません!

あなたのApacheインストールや非常に奇妙なファイルシステムでファンキーなカスタムパッチがない限り、eTAGを生成する作業はファイルのサイズに依存しません。デフォルトではApacheはiノード番号を使用し、 mod時間とサイズ。

通常、条件付き要求は実際にはサイトを多く減速させる可能性があります。回避する必要があります(if-none-match/if-modified-since要求ヘッダーを取り除くことが望ましい)。これは、非常に大きなファイル(動画、PDFなど)を公開する場合には当てはまりません。リクエストヘッダーを変更できない場合(例えば、Apache < 2.0を使用している場合)、レスポンスからETagと最後に変更されたものを取り除くか、定期的にファイルのタイムスタンプをリフレッシュする必要があります。

'Expires'ヘッダーはHTTP/1.0ディレクティブです。HTTP/1.0トラフィックはほとんどありません。通常、プロキシを使用して悪質に構成されたMSIE6ブラウザーからのものです。キャッシュコントロールヘッダーを送信する必要があります。

関連する問題