5

このバグを回避するために、Web サーバーでチャンク転送エンコーディングを無効にしたいと考えています: http://support.microsoft.com/kb/871205。残念ながら、Win2k で IE6 をサポートする必要があるため、パッチをインストールできません。

AspEnableChunkedEncoding を FALSE に設定する手順を見つけましたが、これでは問題が解決しないようです。これは、この記事 ( http://www.eggheadcafe.com/conversation.aspx?messageid=31045986&threadid=31045970 ) によると、動的コンテンツを圧縮するためにチャンク エンコードが必要なgzip 圧縮も使用しているためだと思います。したがって、動的に圧縮されたすべてのコンテンツは、ASP.NET ではなく gzip フィルターによって圧縮されるため、「チャンク」として転送されます。

IIS がこのコンテンツをチャンクなしで提供できることはわかっています。これは、要求で http 1.0 を使用してみたため (転送エンコード: チャンクをサポートしていません)、応答が正しく到着し、圧縮されているためです。

結果の ".axd" ファイルの動的圧縮を必要とする ScriptManager を使用する場合、チャンク エンコーディングを無効にするにはどうすればよいですか?

4

1 に答える 1

1

IIS の GZip 圧縮の動作を変更することも、クライアントを新しい OS にアップグレードすることもできないため、特定のユーザー エージェント文字列の GZip 圧縮を条件付きでオフにしないでください。

Apache では、次のような行で mod rewrite を使用してこれを行うことができます (こちらを参照)。

RewriteEngine on

RewriteCond %{HTTP:User-Agent} MSIE\ [56]
RewriteCond %{HTTP:User-Agent} !SV1
RewriteCond %{REQUEST_URI} \.(css|js)$
RewriteHeader Accept-Encoding: .* $1

このサーバー障害スレッドは、 ISAPI Rewriteを使用して同じディレクティブを使用し、同じ結果を得ることができることを示しています。これらのディレクティブは無料の "Lite" バージョンでもサポートされているようですので、ライセンスを購入する必要はありません。

于 2010-12-03T19:09:44.200 に答える