パスワードを忘れた? アカウント作成
この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。

IEがとてつもなく速いわけ... (たまにだけだけど)」記事へのコメント

  • 昨日からWindows2000&IIS5.0を相手に検証を繰り返していましたが、元記事にあるような現象を再現できませんでした。
    しかし、WinNT4.0&IIS4の構成のサーバにIE6.0SP1でアクセスしたところ、HTTP通信完了後に60秒間程度セッションが閉じられないままになることを確認しました。

    このセッションが閉じられない60秒間の間に再度、そのサーバに対してHTTPリクエストを送信すると、SYN -> SYN/ACK -> ACK の手続きを踏まずに、いきなり HTTP通信が行われます。

    NT4.0のSPレベルやIISのバージョンによって違いが出るのか等、興味は尽きませんが、週末辺りにいろいろな組み合わせで検証してみようと思っています。

    取り急ぎ、現状のご報告まで。

    参考資料:(検証に用いたサイトは適当に選択したサンプルです)

    私が今回の検証に利用したもの
    ・WindowsXP Pro+SP1 + IE6.0+SP1
    ・Ethereal + WinPcap
    ・NAT環境(Proxy環境は無し)
    ・www.teruya.co.jp (WinNT4.0& IIS4.0)

    検証手順
    1.Etherealでキャプチャを開始。
    2.すぐにWinNT4.0&IIS4のサーバにアクセス。
    3.ページの表示が完全に終了したことを確認したらキャプチャを停止。セッションが張られたままであることを確認する。
    4.再度Etheralでキャプチャを開始(ページ表示完了から60秒以内)。
    5.ページのリロードや同一サーバ内の他のページを表示。
    6.2分ほどキャプチャさせ続ける。
    7.クライアントからSYNが送信されずにいきなりHTTPコマンドが送信されていることを確認。最後にHTTP通信が完了した時点から60秒ほど経過した頃にクライアントからFIN/ACKが送信されていることを確認。

    以上
    • by ahiguti (10103) on 2003年01月07日 23時34分 (#231588)
      HTTP通信が途絶えてからもしばらくのあいだ接続を開いたままになることは異常ではありません。HTTP 1.1ではサーバがConnection:closeを付けたレスポンスを返すかタイムアウトするまでは接続を開きっぱなしです。例えば数分間まったく通信しないままサーバとクライアント間にTCP接続がつながったままであったとしても、RFC的には問題ありません。

      問題なのは、TCP接続を張っていない状態でHTTPリクエストが送られることがあるかどうか、という点です。例えば、クライアントが(そのローカルポート番号について)SYNとACKを送る前にHTTPリクエストのパケットを送ったり、あるいはクライアントがFINを送った後にHTTPリクエストを送ったりしたならば異常です。

      3.のあとにキャプチャを止めてしまうのではなくて、同じTCP接続を保ったまま7.のHTTPリクエストが送られているかどうか確かめる必要があります。もしTCP接続を保ったままである(FINがクライアント側からおくられず、同一のローカルポート番号である)ならば、それは正常なHTTP 1.1の動作です。

      親コメント
      • 大変失礼しました。

        いったん床についたんですが、「キープアライブなんじゃねぇの?」と、半ばまどろみながら気づいて調べなおしたらその通りでした。

        的確なご指摘、感謝致します。
        親コメント
        • ここまでの流れを見ていて思ったのですが、元ねたの発見者も同様の経緯をたどって勘違いした、なんてことないですかね?
          • MS憎しの思想が生み出した怪物だったのでしょう。

            まあ、憎しみは結局誰も幸せにしないってことでしょうか。
            これを期に、アンチと言われる人もちゃんと自分の心で判断して物事を見るようにしてくれると良いのですが。
            (アンチMSでもアンチLinuxでもなんでも)

            …認めたくないものだな…自分の、若さゆえの過ちと言うことを…。
        • お疲れ様です。
          結局HTTP1.1に沿った普通の実装、って事ですね。

          # NT4なんかどこ漁っても出てこないしよ(;´Д`)
    • これってkeep aliveとは違うの?

海軍に入るくらいなら海賊になった方がいい -- Steven Paul Jobs

処理中...