Wie weiß XMLHttpRequest, wenn sein Rückruf aufzurufen?
-
22-07-2019 - |
Frage
Von dem, was ich verstehe, wenn Client-Seite JavaScript-Code, um das XMLHttpRequest verwendet eine POST-Anforderung zu machen, es wartet auf eine Antwort, und wenn sie abgeschlossen ist es ändert seine Readystate zu ReadyState.Complete und ruft die Callback-Funktion.
Meine Frage ist: Wie funktioniert es festzustellen, dass die Reaktion abgeschlossen ist? Hat es den Inhalt des ersten TCP-Paket zurückgeben wird? Oder nicht schließt der Server die TCP-Verbindung abgeschlossen damit die Transaktion? Oder ist es etwas Besonderes, in den TCP-Paket Inhalten, die das XMLHttpRequest-Objekt erzählt, dass die Reaktion abgeschlossen ist?
Lösung
Es entweder wartet auf den Server ist es Verbindung zu schließen, oder er wartet, bis es eine Anzahl von Bytes aus der Antwort gleich die Content-Length-Header in der Antwort gelesen wird.
Andere Tipps
Es folgt HTTP spec. Antwort muss entweder Content-Length
oder Verwendung chunked
Inhaltscodierung haben. In HTTP / 1.0 Schlussverbindung ist auch eine Option.