
Возможность:
HTTP-кэширование
HTTP-кэширование
Поскольку GraphQL отправляет queries через POST, их обычно нельзя кэшировать на стороне сервера или на промежуточных этапах между клиентом и сервером (например, на CDN), поэтому приходится заботиться о добавлении слоя кэширования в приложение на стороне клиента, что делает его медленнее и сложнее.
Однако при доступе через GET (что естественно для persisted queries, а в остальных случаях — с параметром ?query=...) ответ можно кэшировать с помощью стандартного HTTP-кэширования.
Можно задать, как долго должно кэшироваться каждое поле или директива, и ответ будет содержать заголовок Cache-Control, значение max-age которого автоматически рассчитывается на основе всех полей и директив в запрошенном query (или no-store, если запрос затрагивает состояние пользователя).
