据我了解,如果客户端 javascript 代码使用 XMLHttpRequest 发出 POST 请求,它会等待响应,并在完成后将其就绪状态更改为 ReadyState.Complete 并调用回调函数。
我的问题是:它如何确定响应是完整的?它是否返回它收到的第一个 TCP 数据包的内容?还是服务器关闭 tcp 连接从而完成交易?还是 TCP 数据包内容中有一些特殊的东西告诉 XMLHttpRequest 对象响应已完成?
最佳答案
它要么等待服务器关闭它的连接,要么等待它从响应中读取的字节数等于响应中的 Content-Length header 。
关于http - XMLHttpRequest 如何知道何时调用它的回调?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1040787/