Что такое теги сущности HTTP-ответа?
Вопрос
В частности, в JAX-RS (я не уверен, что это актуально) есть методы, которые позволяют вам добавлять EntityTags к ответу.Что именно представляют собой теги сущностей и какими практическими способами они используются?
Решение
Теги сущностей - это способ включения кэширования в протокол HTTP.Когда сервер возвращает ответ, он может прикрепить ETag
заголовок, который выдает значение, представляющее состояние объекта, возвращаемого в ответ на запрос клиента.
Когда клиент делает последующие запросы с тем же ответом, он может отправить обратно ETag в своем запросе, используя If-None-Match
заголовок и сервер могут использовать это, чтобы определить, нужно ли ему отправлять новый ответ (т.е.состояние запрошенного объекта изменилось) или может ли он ответить ответом 304 Not Modified, который инструктирует клиента использовать его локальную кэшированную копию.
Это чаще всего используется в RESTful API и приложениях, где важны кэширование и состояние объекта.
Другие советы
В дополнение к ссылке на Джулиана:Как правило, теги сущностей позволяют клиенту, серверу и посредникам согласовать конкретное представление (следовательно сущность тег) ресурса.
Соглашение используется для сокращения использования сети (условный поиск) и контроля параллелизма (условные обновления).Первый работает примерно так: "Пришлите мне текущее представление этого ресурса, если это не то представление, которое у меня уже есть", а второй работает примерно так: "Примените это изменение к этому ресурсу, если он все еще находится в том состоянии, которое я ожидаю от него иметь").
Остальное подробно описано в спецификации HTTp.
Янв.
Видишь Раздел 3.11 RFC 2616.