2011-01-31 9 views
3

私は、ヘッダーが存在しない場合、ヘッダーを一時的に無効にし、ブラウザー、キャッシュメカニズムなどへの影響を完全に認識したいという旨を述べることで、この質問の前に説明します。ApacheでContent-Lengthレスポンスヘッダーを無効にする方法は?

Content-LengthヘッダーがHTTP応答に存在しない場合、キャッシュ動作をテストする必要があります。ヘッダーを無効にする方法はありますか?

私の最初の試みは、PHPとheader("Content-Length: 0", true);を使用して0に設定しようとしましたが、これはレスポンスからヘッダを完全に削除するのと同じではありません。

ヘッダーを無効にする/削除することはできますか?

+1

試してみてください: ヘッダーが.htaccessファイルのContent-Lengthに設定されていません – Ivan

+1

.htaccessファイルまたはhttpd.confでそれを使用しても動作していないようです。私はヘッダーを設定できますが、Content-Lengthは削除できません。 – Structure

+1

Apacheのソースコードをハックして、Content-Lengthヘッダーの生成を削除することができます。それはオープンソースが作られたものです:) – SirDarius

答えて

3

Content-Lengthの追加は、RFC 2616(HTTP 1.1)でSHOULDとマークされているものです。つまり、Webサーバーは一般的にそれを放置しないように設計されています。

たとえば、Apache HTTP Serverの場合は、モジュール/ http/http_filters.cを変更する必要があります。ソースファイルからContent-Lengthを検索することは、実際にそれを強制的に解除する方法を示しています(行1255を詳しく見てください)。フィルタチェーンの最後に未設定を追加すると、設定されます。

また、Apache以外のWebサーバーを使用することもできます。これは、変更が容易であるか、RFC 2616を尊重しないものです。

+1

私の目標は、RFCが尊重されていないときにどうなるかを確認することだけです。ありがたく、ありがとう。 – Structure

関連する問題