1

SWI-Prolog HTTP サーバーと通信する IE9 の奇妙な一連のイベントを調査しています。ブラウザのキャッシュをクリアして / を読み込んだ後、これが発生していることがわかります。

  • IE9: GET /
  • Prolog は /home へのリダイレクトで応答します
  • IE9: GET /ホーム
  • プロローグはメインページで返信します(HTML、7枚の画像、css、jsを参照)
  • IE9 はこれらに対して 7 つの接続を開きます
  • WindowsはWSAECONNABORTED を使用してこれらすべてを閉じているようです。サーバーは、リクエストを読み取るための接続と、応答を送信するための接続でこのエラーを報告します。IE9 開発者のインターフェイスは 、すべて中止したと言っています。
  • IE9 は正常に動作する 4 つの接続を開き、次に 3 つの接続も正常に動作します。

なぜこれがすべて起こるのか、そして誰が中止を開始しているのか、誰にも分かりますか? (Prolog) サーバー自体は、接続数に制限を課しません (明示的に変更する必要がある WinSock のデフォルトがない限り)。

Ps プラットフォーム: Win7、64 ビット。

4

1 に答える 1

0

歴史的に、HTTP プロトコルには、HTTP/1.0 ではクライアントあたり 4 つの接続、HTTP/1.1 では 2 つの接続という従来の制限がありました (RFC2616 セクション 8.1 に基づく)。Prolog サーバーがこの制限を強制していると思われます。あるいは、追跡が困難なように、最近ではあらゆる種類のことを行う中間ファイアウォールのアクションである可能性があります。

そのままでは、IE は正しく動作しており、制限を検出して下限に戻っているように見えます。

興味のある方は、IE6 時代のドキュメントを以下に示します。

于 2013-01-08T16:14:05.830 に答える