首页 > 解决方案 > 当 HTTP POST 请求因网络丢失而中断时会发生什么?

问题描述

我正在尝试使用 XHR 和 POST (CORS)(当然需要身份验证)将文件上传到 Google Drive。我将文件对象作为请求正文发送。但我只想知道当请求发送后,文件上传(部分上传)中途网络连接丢失时会发生什么?

1.) 文件是否部分上传并已损坏?或者 Google Drive 不存储(和列出)文件,除非它接收到完整的文件?

2.) 在这种情况下,GD 是否会返回错误代码?

3.) GD 是否忽略了部分或失败的上传,因此驱动器上根本没有创建文件?

标签: javascriptpostuploadgoogle-drive-apixmlhttprequest

解决方案


您应该考虑像 UDP 通信这样的 HTTP 请求。

  • 客户提出请求

  • 服务器回复响应

他们并不真正关心中间发生的事情。这意味着一旦客户端完成了请求,之后发生的事情就像一个黑匣子。如果在您的请求到来时服务器的连接中断,则数据将被破坏,并且由于没有双向通信,客户端将不知道重新发送请求。

现在你的问题:

文件是否部分上传并已损坏?或者 GoogleDrive 不存储(和列出)文件,除非它接收到完整的文件?

是的,该文件将被损坏,您可能无法打开它。

在这种情况下,GD 是否会返回错误代码?

不完全是,如果您或谷歌遇到连接问题,您就不能真正依赖它。我建议仅假设您从 GD 收到 200 状态后才上传文件


推荐阅读