0

HttpCompressモジュールをプラグインして、MVC Web アプリケーションの圧縮を有効にしました。

開発 Web サーバー (Cassini) を介してサイトを実行すると、圧縮の実行に問題はありません。

ただし、サイトを IIS6 に展開すると、圧縮が実行されません。圧縮ライブラリのソース コードを確認しましたが、CompressContent ハンドラは、null 値が存在するため、動作せずに戻ります。

app.Request.Headers["Accept-Encoding"]

私の推測では、これは IIS6 での拡張子のない URL の処理に関係していると思われます。本番環境でこの問題を解決するにはどうすればよいですか?

[以下は、モジュールの構成です。それが参考になる場合]

<blowery.web>
  <httpCompress preferredAlgorithm="deflate" compressionLevel="high">
    <excludedMimeTypes>
      <add type="image/jpeg" />
      <add type="image/png" />
      <add type="image/gif" />
      <add type="application/pdf" />
    </excludedMimeTypes>
    <excludedPaths></excludedPaths>
  </httpCompress>
</blowery.web>
4

1 に答える 1

1

さらに調査したところ、プロキシ経由でサーバーにアクセスしていたことがわかりました。プロキシが圧縮ヘッダーを IIS に転送していないようです。

リクエストに干渉しているプロキシを特定する最も簡単な方法は、応答ヘッダーでviaエントリを確認することです。

宿題として、http ヘッダーの完全なリストを参照してください。

于 2010-01-28T04:02:20.117 に答える