問題
Python エージェントでインストゥルメントされたbrowser問題がある場合は、 の標準トラブルシューティング手順に従ってください。 Python に関する追加のヒントをいくつか紹介します。
解決
以下の推奨事項に従って、コンテンツの構造をチェックし、コンテンツ圧縮が妨げられていないかどうかを確認してください。
ブラウザエージェントが自動的に追加されることを期待していたにもかかわらず、追加されなかった場合は、以下のような制限が適用されていないか確認してください。
HTML 応答の
Content-Type
はtext/html
でなければなりません。Content-Encoding
応答ヘッダーを設定できません。Content-Disposition
応答ヘッダーは、応答を添付ファイルとしてマークできません。HTML
<head>
要素内のhttp-equiv
メタ タグで指定されたContent-Disposition
は、応答を添付ファイルとしてマークできません。HTML 応答の
<body>
要素は、最初の 64 KB 以内に表示される必要があります。HTML ページ レスポンスを生成し、
application/xhtml+xml
のContent-Type
を使用している場合、許可されたコンテンツ タイプをオーバーライドして、このコンテンツ タイプとtext/html
の両方をエージェント構成ファイルにリストできます。browser_monitoring.content_type = text/html application/xhtml+xmlbrowser_monitoring.content_type
がスペースで区切られたコンテンツ タイプのリストであることを確認してください。application/xhtml+xml
を自動インストルメンテーションの許可されたコンテンツ タイプとして追加すると、結果のページがapplication/xhtml+xml
として正しく検証されなくなることに注意してください。その他のコンテンツの制限に関する問題を解決するには、 マニュアルインストルメント.
WSGI または Web フレームワーク ミドルウェア、またはレスポンスの圧縮を行う場合など、レスポンスのコンテンツをエンコードするプラグインを使用している場合、自動インストルメンテーションが機能しない可能性があります。Python エージェントは、Django GZipMiddleware
および Flask-Compress
の特定のサポートを自動インスツルメンテーションで提供します。ただし、現在、これは paste.gzipper
ではサポートされていません。これにはバグが含まれており、ブラウザー監視インスツルメンテーションを追加するエージェントの WSGI ミドルウェアと組み合わせて使用できなくなるためです。
この問題が発生した場合は、 手動インストルメンテーションを使用するか、Web サーバーまたはフロントエンド プロキシの使用に切り替えて、Web アプリケーション内で圧縮を実行するのではなく、応答コンテンツを圧縮します。後者のソリューションは、パフォーマンス上の利点も提供する場合があります。
ページのソースを確認すると、ブラウザエージェントが条件ブロックの中に誤って挿入されています。
<!--[if IE]> <meta http-equiv="X-UA-Compatible" content="IE=edge" /> <script type="text/javascript"> /*Browser agent here*/ </script><![endif]-->
これは、Pythonエージェントがブラウザエージェントの配置を決定する際に、これらの条件付きブロックをチェックしないために起こります。この場合、 手動インストルメント の使用を検討してください。