2009-06-24 64 views
1

根據我的理解,如果客戶端JavaScript代碼使用XMLHttpRequest發出POST請求,它會等待響應,並在完成時將其readystate更改爲ReadyState.Complete並調用回調函數。XMLHttpRequest如何知道何時調用其回調?

我的問題是:它是如何確定響應是完整的?它是否返回它獲取的第一個TCP數據包的內容?或者服務器關閉tcp連接,從而完成交易?還是有什麼特別的TCP數據包內容告訴XMLHttpRequest對象響應已完成?

回答

2

它要麼等待服務器關閉它的連接,或者它等待直到它從等於在響應中的Content-Length頭的響應讀出的字節數。

2

它遵循HTTP規範。響應必須有Content-Length或使用chunked內容編碼。在HTTP/1.0關閉連接也是一個選項。

相關問題