Fernus
@Fernus
Техник - Механик :)

Как запретить кеширование данных, полученных через API?

Дано:
Некий API (который нужно разработать) с подчётом кол-ва запросов по некоторым методам этого API...

Условия:
Не дать возможность кэшировать ответы по каждому методу (либо некоторых).

Подробнее:

Давайте представим такую структуру:
- Авторы книг;
- Их книги;
- Рассказы (сказки) в этих книгах.


В самом банальном случае API выглядело бы, например, так:

- Метод получения авторов:
/getAuthors
Результат:
id: 1
name: Вася Пупкин
id: 2
name: Игнат Великий
...


Метод получения книг по автору:
/getBooks/{author_id}
Результат:
id: 1
name: Рыбалка
id: 2
name: Космос
...


Метод получения рассказов (сказок) по книге:
/getStories/{book_id}
Результат:
id: 1
name: Как ловить акулу
id: 2
name: Как улететь на Марс
...


Вернёмся к условию задачи:
Необходимо подсчитывать кол-во запросов по каждому методу (тут проблем нет) и не дать возможность закэшировать ответ, например, метода "получения книг по автору", чтобы в дальнейшем не было возможности, раз сохранив ID'шники авторов, напрямую обращаться к этому методу, минуя метод "получения авторов"...

Есть мысли подменять ID'шники с какой-то "солью/хэшем" и т.п...
Но хотелось бы послушать Ваши мысли...потому что до конца картинка не складывается, а костылями не хочется орудовать :)

Мне сам код и как это сделать не нужно...просто ход мыслей и логики нужен для решения подобной задачи...
  • Вопрос задан
  • 348 просмотров
Решения вопроса 2
thewind
@thewind
php программист, front / backend developer
Сделайте айдишки авторов в виде коротких токенов с возможностью дешифровки, и привязывайте их к пользователю, работающему с апи, а также сроком действия - час. Тогда другие пользователи еще и запросить от чужого имени не смогут.
Ответ написан
lastuniverse
@lastuniverse
Всегда вокруг да около IT тем
можно сделать многоразовый токен с ограниченным сроком действия скажем в минуту, выдавайте его по запросу авторов, обновляйте его если страница с авторами открыта раз в минуту, при запросе книг автора - передавайте этот токен и проверяйте его на действительность
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы