В настоящее время я создаю API, доступ к которому через мобильное приложение осуществляется через HTTP.Предположим, что следующий сценарий: мобильное приложение отправляет запрос HTTP POST на www.example.com/customers, содержащий регистрационные данные, API подключается к базе данных, вставляет новую запись и возвращает 200 OK плюс некоторые специфические для пользователя регистрационные данные.
Теперь предположим, что вставка в базу данных прошла нормально, но ответ 200 OK никогда не передавался в мобильное приложение, плохое соединение / пользователь отключил мобильное соединение и т. Д. Очевидно, что повторение того же запроса POST не будет работать, потому чтопользователь с таким именем / идентификатором уже присутствует.Как бы я решил эту проблему (и защитил бы другие функции в API, используя тот же механизм)?
Кроме того, когда я размышлял над приведенным выше сценарием, может ли возникнуть такая же проблема между веб-сервером и сервером базы данных?Например: PHP-скрипты вызывают mysql_connect () для подключения к (удаленной) базе данных, и выполняется вызов mysql_query ().Может ли случиться так, что сервер базы данных совершил запрос, но по какой-то причине PHP-скрипт никогда не получал «OK» от соединения с БД из-за плохого соединения или чего-то подобного?