Что происходит, когда запрос HTTP POST прерывается из-за потери сети? - PullRequest
0 голосов
/ 19 июня 2019

Я пытаюсь загрузить файл на Google Drive, используя XHR и POST (CORS) (с аутентификацией, конечно).Я отправляю объект файла как тело запроса.Но я просто хочу знать, что происходит, когда после отправки запроса сетевое соединение теряется в середине загрузки файла (частично загружено)?

1.) Файл частично загружен и поврежден?Или Google Диск не сохраняет (и не перечисляет) файл, пока не получит полный файл?

2.) В таком случае GD отвечает кодом ошибки?

3.) GD игнорирует частичную или неудачную загрузку, и поэтому на диске вообще не создается файл?

1 Ответ

1 голос
/ 19 июня 2019

Вы должны думать в HTTP-запросе как UDP-связь.

  • Клиент делает запросы

  • Ответы сервера

Их не волнует, чтослучается междуЭто означает, что как только клиент выполнит запрос, то, что произойдет после этого, будет как черный ящик.Если соединение с сервером прервется во время поступления вашего запроса, данные будут повреждены, и, поскольку отсутствует двусторонняя связь, клиент не узнает об этом, чтобы повторно отправить запрос.

Теперь ваши вопросы:

Файл загружен частично и поврежден?Или GoogleDrive не сохраняет (и не перечисляет) файл, пока не получит полный файл?

Да, файл будет поврежден, и вы, вероятно, не сможете его открыть.

Отвечает ли GD кодом ошибки в таком случае?

Не совсем, если у вас или у Google есть проблемы с подключением, вы не можете от этого зависеть.Я рекомендую предполагать, что файл загружен только после получения статуса 200 от GD

...