Я пытался понять HTTP Etags и придумал пример использования. Правильно ли я думаю?HTTP слабый пример Etag,
Допустим, у нас есть API RESTful с пользовательскими типами ссылок. Некоторые ресурс возвращает набор XML-данных с помощью ссылки, как это:
< ссылка отн = "HTTP: //my.api/relation_definition" URL = "HTTP: //my.api/resources/someId"/>
Обратите внимание на пользовательское определение rel, которое приводит к некоторому описанию значения этой ссылки.
Теперь, если это описание rel даст слабый Etag. Программисты, которые создают клиент для моего REST api, могут встроить этот etag в своего клиента. Поскольку пользовательское отношение может означать какое-то особое поведение клиентского приложения. Теперь клиентское приложение может проверить, имеет ли ссылка определение: nt изменено путем запроса с помощью этого слабого etag. Если это то же самое, все в порядке. Если слабый etag изменился, это означало бы, что клиенту, возможно, придется изменить/пересмотреть его поведение на этих ссылках и, возможно, уведомить его разработчика о принятии некоторых действий.
Я использую слабые etags вместо сильных, потому что я, как поставщик api, чаще меняю описание ссылки, исправляю опечатки, добавляю несколько примеров и т. Д., Которые не меняют смысла. Поэтому я бы изменил слабый etag описания только в том случае, если значение этих ссылок изменилось.
Правильно ли я понимаю цель слабых etags?
Actualy Я думал о семантической ссылке. Если у нас есть настраиваемый тип отношения, определенный некоторым URL-адресом, URL-адрес содержит некоторое описание значения этого отношения. Это описание предназначено для программистов, которые используют мой REST api. Если программист создает клиента, который выполняет действия по этим ссылкам, то он каким-то образом «кэширует» значение отношения в коде. Мы можем думать об описании реальности как о другом ресурсе. ETag может определить его версию. Если REST api необходимо изменить значение отношения, некоторые клиенты могут перестать работать должным образом, и мы могли бы использовать ETag, чтобы узнать об этом. – AdamZ