0

IE9 で Web サイトをデバッグしようとしています。Python経由で実行しています。

chrome、safari、firefox、opera では、サイトはすぐに読み込まれますが、IE9 ではハングしているように見え、実際には読み込まれません。

これは、http パイプラインの問題である可能性がありますか? または、他の何か?そして、どうすればこれを修正できますか?

4

2 に答える 2

1

使用しているPython「Webサーバー」(ボトル、Tornado、CherryPyなど)を指定する必要がありますが、さらに重要なのは、IE9が関与する場合にどのリクエストヘッダーとどのHTTP応答が出入りするかを指定する必要があります。

ngrepなどを使用してワイヤから持ち上げることができます。または、IE9の開発者ツール(F12キー)を使用できると思います。

多くの場合Webブラウザを気にしないIE9の最も一般的な癖は、Content-Lengthの不一致(前回の検索ではこのDIDはSafariを気にします)、おそらくContent-Type(これは逆に機能します-IE9はHTMLのmimetypeを正しく表示することがありますContent-Typeが間違っています)、接続:閉じる。

そうです、HTTPパイプラインで問題が発生する可能性があります。特に、無効なContent-Lengthを使用し、チャンク転送エンコーディングでさえないリクエストをパイプライン処理する場合、IEはリクエストが「終了」するのを待つ可能性があります。これはWebブラウザでも発生します。ただし、IEではこの動作がフラッシュされて閉じられる接続をオーバーライドしますが、Webブラウザーではオーバーライドされない可能性があります。これらの2つの仮説は、観察された症状と一致する可能性があります。

これを修正するには、ある意味でContent-Lengthを置き換えるチャンク転送エンコーディングに切り替えるか、その値を正しく計算します。これを行う方法はサーバーによって異なります。

すばやく確認するには、Content-Lengthを発行すると、確かに短すぎて(たとえば、100バイト?)、IEのハングが解除され、部分的なWebページが表示されるかどうかを確認できます。

于 2012-08-23T19:48:41.437 に答える
0

パケット スニファーを使用して、サーバーと IE の間、およびサーバーと別のブラウザーの間のパケットを傍受してログに記録します。両方を調べて比較し、何が起こるかを確認します。

于 2012-08-23T20:02:19.147 に答える