Что такое теги Entity Response Entity?

В частности, в JAX-RS (я не уверен, что это актуально) есть методы, которые позволяют добавлять EntityTags к ответу. Что такое теги сущностей и какие практические способы они используют?

Ответ 1

Теги Entity - это способ включения кэширования в HTTP-протокол. Когда сервер возвращает ответ, он может присоединить заголовок ETag, который дает значение, которое представляет состояние объекта, возвращенного в ответ на запрос клиента.

Когда клиент делает последующие запросы для одного и того же ответа, он может отправить обратно ETag в запрос с использованием заголовка If-None-Match, и сервер может использовать это, чтобы определить, нужно ли ему отправлять новый ответ (то есть состояние запрошенный объект изменился) или может ли он ответить с ответом 304 Not Modified, который инструктирует клиента использовать его локальную кешированную копию.

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

См. http://en.wikipedia.org/wiki/HTTP_ETag

Ответ 2

В дополнение к ссылке Julians: в целом теги объектов позволяют клиенту, серверу и посредникам согласовывать конкретное представление (следовательно, тег объекта) ресурса.

Соглашение используется для сокращения использования сети (условного извлечения) и управления concurrency (условные обновления). Первое работает по строкам "Присылайте мне текущее представление этого ресурса, если это не представление, которое у меня уже есть", а последнее работает по строкам "Примените это изменение к этому ресурсу, если оно все еще имеет состояние, которое я ожидаю он должен иметь" ).

Остальное подробно объясняется в спецификации HTTp.

Jan