Estoy construyendo un almacén de datos RESTful y aprovechando Condicional GET y PUT. Durante un PUT condicional, el cliente puede incluir el Etag de un GET anterior en el recurso y, si la representación actual no coincide, el servidor devolverá el código de estado HTTP de 412 (precondición fallida). Tenga en cuenta que este es un servidor/protocolo basado en Atom.HTTP Response 412: ¿puede incluir contenido?
Mi pregunta es, cuando devuelvo el estado 412 ¿puedo incluir también la nueva representación del recurso o debo el usuario emitir un nuevo GET? La especificación HTTP no parece decir sí o no y tampoco lo hace la especificación Atom (aunque su ejemplo muestra un cuerpo de entidad vacío en la respuesta). Parece bastante inútil no devolver la nueva representación y hacer que el cliente lo OBTENGA específicamente. ¿Pensamientos?
Sí, no estaba siguiendo tu respuesta inicial, pero tu punto sobre el posible caché intermedio es muy bueno. Honestamente, la mejor respuesta que he visto hasta ahora. – Gandalf