Предположим, что взаимодействие с клиентом и сервером происходит через ненадежную сеть (падение пакетов). Клиент вызывает сервер RESTful api (через http через tcp):
- выдача POST на http://server.com/products
- сервер создает объект ресурса "продукт" (сохраняется в базе данных и т.д.).
- сервер возвращается 201 Создан с заголовком местоположения " http://server.com/products/12345"
- ! TCP-пакет, содержащий ответ HTTP, отбрасывается, и в конечном итоге это приводит к подключению tcp reset
Я вижу следующую проблему: клиент никогда не получит идентификатор вновь созданного ресурса, но у сервера будет создан ресурс.
Вопросы: Является ли это поведение на уровне приложения или он должен заботиться об этом? Каким образом веб-инфраструктура (и Rails в частности) обрабатывает подобную ситуацию? Существуют ли какие-либо статьи/публикации в REST для этой темы?