【发布时间】:2019-10-17 08:44:28
【问题描述】:
XMLHttpRequest 接口同时提供open() 和send() 方法。
在以下示例代码中:
var xhr = new XMLHttpRequest();
xhr.open('GET', '/server', true);
xhr.onload = function () {
// Request finished. Do processing here.
};
xhr.send('string');
在调用send() 或open() 时是否发生TCP 握手?
【问题讨论】:
-
你不能在同一个 XHR 上多次调用
send()。 -
@Barmar 谢谢,问题已更新以反映这一点
-
为什么不直接运行数据包捕获来查看它何时发生?
-
请注意,在您调用
send之前,如果没有服务器正在运行,您不会收到“连接被拒绝”错误。这强烈表明这是握手发生的时候。 -
查看协议规范后,
network task在请求正文完全解析之前不会排队。这意味着send()是答案,因为在那之前没有正文。
标签: javascript tcp network-programming xmlhttprequest handshake