Я создаю хранилище данных RESTful и использую условные GET и PUT. Во время условного PUT клиент может включить Etag из предыдущего GET в ресурс, и если текущее представление не соответствует, сервер вернет код состояния HTTP 412 (сбой предварительного условия). Обратите внимание, что это сервер/протокол на основе Atom.
Мой вопрос: когда я возвращаю статус 412, могу ли я также включить новое представление ресурса или пользователь должен выдать новый GET? Спецификация HTTP, похоже, не говорит «да» или «нет», как и спецификация Atom (хотя их пример показывает пустое тело объекта в ответе). Кажется довольно расточительным не возвращать новое представление и не заставлять клиента ПОЛУЧАТЬ его. Мысли?