ASP.NETで複数のJavaScriptファイルのダウンロードをまとめて、ページロードを高速化する


Fast ASP.NET web page loading by downloading multiple javascripts after visible content and in batch
http://www.codeproject.com/KB/aspnet/fastload.aspx
より。


多数のJavaScriptファイルを使用した際にページロードに時間がかかるように感じられるのは、

  1. コンテンツの途中に<script src="...">が存在すると、その時点でレンダリングがストップし、スクリプトの読み込みと実行がおこなわれるから
  2. 複数回のスクリプトファイルのダウンロードが発生すると、読み込み時のネットワークレイテンシが大きく影響してくる


そこで、ASP.NETのレスポンスフィルターを作成し、

  1. <script>タグをコンテンツの後方に移動する
  2. グループ化する最初の<script>>のsrc属性を、カスタムHttpハンドラのurlに置換する
  3. その他の<script>のsrc属性を、空にする
  4. グループ化の単位はxmlで定義する
  5. カスタムHttpハンドラは対象のjsにアクセスして内容を取得し、結合したのちにレスポンスを返す

詳細とソースコードは、上記のサイトを参照


これを応用すれば、CSSファイルをまとめることもできるかも。