2012-03-07 5 views
4

私はASP.NET Webアプリケーションのパフォーマンス最適化をしようとしています。現時点では、私は手動で(http://atashbahar.com/post/Combine-minify-compress-JavaScript-files-to-load-ASPNET-pages-faster.aspxを使用して)含まれているjavascriptファイルをマージし、gzipして、メインのaspxページ(How to implement GZip compression in ASP.NET?のテクニックを使用)をgzipしています。自動的にインクルードされたスクリプトをgzipできますか?

しかし私は、フレームワークによって自動的にダウンロードされると思われる2つのかなり大きなスクリプトがあることに気付きました。 1つはポストバック(21kb)を処理するためのものと、もう1つはasp:メニュー(32kb)を扱うためのものです。火かき棒では、これらはhttp://localhost:51061/WebResource.axd?d=v_Vv17tAURCE6646oHs1gmtwuRnH_kz1noYhRYi4pZJ3gy5A9YfvH6xvbJzjQds1dcPcTJ5q0OMwnGYfryCxn0MPoOgKTchA4WCQfDaV-F01&t=634619019774587441かそのようなものと表示されます。

これらのファイルをgzipする方法はありますか、それとも他のjavascriptファイルとでもマージする方法はありますか? ISSの設定を変更することはできませんが、これは他のスレッドからの示唆であるようです。

更新:

申し訳ありませんが、コンテンツタイプおよびコンテンツの符号化の間に少し混乱していました。とにかく、あなたのアップデートはそれを修正するために何をすべきか教えてくれませんか?

HTTP/1.1 200 OK 
Server: ASP.NET Development Server/10.0.0.0 
Date: Fri, 09 Mar 2012 01:34:19 GMT 
X-AspNet-Version: 4.0.30319 
Content-Length: 12552 
Content-Encoding: gzip 
Cache-Control: public, max-age=2592000 
Expires: Sun, 08 Apr 2012 01:34:19 GMT 
Content-Type: application/x-javascript 
Connection: Close 

これはエンコードされませんでしたシステムのJavaScriptのヘッダーです:両方、リクエストヘッダに

HTTP/1.1 200 OK 
Server: ASP.NET Development Server/10.0.0.0 
Date: Fri, 09 Mar 2012 01:34:19 GMT 
X-AspNet-Version: 4.0.30319 
Cache-Control: private 
Expires: Sat, 09 Mar 2013 01:34:19 GMT 
Last-Modified: Wed, 11 Jan 2012 10:06:17 GMT 
Content-Type: application/x-javascript 
Content-Length: 21823 
Connection: Close 

とにかく、これが正常にエンコードされたJavaScriptのファイルのヘッダーですAccept-Encoding: gzip, deflate

答えて

1

が真

<configuration> 
    ... 
    <system.web.extensions> 
    <scripting> 
     <scriptResourceHandler enableCompression="true" enableCaching="true"/> 
    </scripting> 
    </system.web.extensions> 
    ... 
</configuration> 
に、system.web.extensions /スクリプトで設定enableCompressionをscriptResourceHandlerの設定を追加してい

とカスタムgzipingを取り除くことができ、それはLETが、

<configuration> 
    ... 
    <system.webServer> 
     <urlCompression doDynamicCompression="true" doStaticCompression="true" dynamicCompressionBeforeCache="true"/> 
    ... 
    </system.webServer> 
    ... 
    </configuration> 

urlCompression

設定を更新することを行うには、IIS良いでしょう: コンテンツタイプを変更すべきではない、それはそこにすべきブラウザのリクエストで、ちょうどgzipで圧縮された同じ内容ですヘッダである:

Accept-Encoding: gzip, deflate 

と応答:

Content-Encoding: gzip 

アンISAプロキシサーバーはデフォルトでAccept-Encodingリクエストヘッダーからgzipを取り除くため、ISAはコンテンツに悪意のあるデータがないかスキャンします。おそらく他のプロキシ/ファイアウォールソフトウェアも同じことをします。

+0

私はこれを試しましたが、動作しません。これらのjavascriptファイルのコンテンツタイプは、まだ 'application/x-javascript'です。私がこれを正しく行っていることを確認するだけです:両方ともweb.configファイルの要素の下に追加されるはずです。 – ananda

+0

私は私の答えを –

+0

更新する予定です上記の返信を参照してください。ありがとう。 – ananda

関連する問題