9.2.7 クライアント性能測定スクリプトの挿入条件

クライアント性能測定スクリプトは,Webアプリケーションでの静的コンテンツ,JSP,またはサーブレットが生成したコンテンツに対して,自動的に挿入されます。

クライアント性能測定スクリプトが挿入できる条件を次の表に示します。

表9-7 クライアント性能測定スクリプトの挿入条件

項番項目条件
1クライアント性能フィルタが受け取るServletRequest,ServletResponseの種類クライアント性能フィルタのdoFilter()メソッドの引数がHttpServletRequest,またはHttpServletResponseのインスタンスである場合。
2対象のコンテンツ
  • クライアント性能フィルタが動作したときのContent-Typeの値がtext/htmlである場合。
  • クライアント性能フィルタが動作したときのContent-Encodingヘッダの値が未設定またはidentityだけ指定されている場合。
3ステータスコードサーブレットやあとのフィルタから渡されたレスポンスのステータスコードが200である場合。
4リクエストメソッドリクエストメソッドがGET,またはPOSTである場合。
5適用されるHTMLの制限コンテンツの先頭からクライアント性能モニタ機能の設定filterSizeで指定したサイズ(デフォルトは8キロバイト)までの範囲で,次のどちらかの条件を満たしている場合。
  • <HEAD>,</HEAD>,<BODY>の順でそれぞれのHTMLタグを含む。
  • <HEAD>,</HEAD>,<FRAMESET>の順でそれぞれのHTMLタグを含む。
    この場合,コンテンツの先頭から検索していちばん最初の<FRAMESET>タグの属性は,「cols=」または「rows=」の一方だけが指定されている必要があります。なお,この属性値は次のどれかの方法で指定してください。
    ・ダブルクォーテーションで囲む("~")
    ・シングルクォーテーションで囲む('~')
    ・囲まない(~)

    <frameset rows="50%,50%"> <frameset cols=50,*>
どちらの条件も満たしていない場合は,クライアント性能測定スクリプトは挿入されないことがあります。
6出力ストリームのflush()出力ストリームのバッファが最初にflush()されるタイミングで,「適用されるHTMLの制限」の条件を満たすデータが出力ストリームに書き込まれている場合。
出力ストリームのバッファが最初にflush()されるタイミングで,「適用されるHTMLの制限」の条件がチェックされます。このとき,「適用されるHTMLの制限」の条件を満たすデータが,出力ストリームに書き込まれていない場合は,クライアント性能測定スクリプトは挿入されません。
7クライアント性能モニタの適用に関する設定リクエストURLのパスがクライアント性能フィルタの初期化パラメタignorePagesで指定したパスにマッチしない場合。
リクエストURLのパスがクライアント性能フィルタの初期化パラメタignorePagesで指定したパスにマッチする場合は,クライアント性能測定スクリプトは挿入されません。
8ブラウザの種類User-Agentの情報として,Internet Explorerのバージョンが6以上であることが判別できる場合。
9クライアント性能フィルタが受け取るServletResponseの状態クライアント性能フィルタのdoFilter()メソッドが呼ばれた時点でクライアント性能フィルタが受け取るServletResponseがコミットされていない場合。
クライアント性能フィルタのdoFilter()メソッドが呼ばれた時点で,すでにクライアント性能フィルタが受け取るServletResponseがコミットされている場合は,クライアント性能測定スクリプトは挿入されません。
10サーブレットパスクライアント性能フィルタが動作した際,javax.servlet.ServletResponseのgetServletPathメソッドで得られるサーブレットパスが「/」で始まる文字列の場合。
サーブレットパスが「/」で始まらない文字列(空文字列など)の場合,クライアント性能測定スクリプトは挿入されません。