1

私が理解していることから、クライアント側の JavaScript コードが XMLHttpRequest を使用して POST 要求を行う場合、応答を待ち、完了すると、readystate を ReadyState.Complete に変更し、コールバック関数を呼び出します。

私の質問は、応答が完了したことをどのように判断するのですか? 最初に取得した TCP パケットの内容を返しますか? または、サーバーが tcp 接続を閉じてトランザクションを完了しますか? それとも、応答が完了したことを XMLHttpRequest オブジェクトに伝える TCP パケットの内容に何か特別なものがあるのでしょうか?

4

2 に答える 2

2

サーバーが接続を閉じるのを待つか、応答の Content-Length ヘッダーに等しいバイト数を応答から読み取るまで待機します。

于 2009-06-24T20:29:13.173 に答える
2

HTTP仕様に準拠しています。応答には、コンテンツ エンコーディングContent-Lengthまたはchunkedコンテンツ エンコーディングを使用する必要があります。HTTP/1.0 では、接続を閉じることもオプションです。

于 2009-06-24T20:29:57.680 に答える