Persisted query tự động cho phép server học truy vấn mới khi gặp lần đầu, sau đó client chỉ gửi hash.
Mục đích chính là giảm dung lượng gửi lên.
json
POST /graphql
{
"extensions": { "persistedQuery": { "sha256Hash": "b1e4..." } },
"variables": { "id": "42" }
}Allowlist thì server chỉ chấp nhận các truy vấn đã đăng ký lúc build và từ chối mọi thứ khác. Đây mới là biện pháp bảo mật thật, vì nó loại bỏ hoàn toàn truy vấn tuỳ ý.
Lợi ích kèm theo của allowlist: tập truy vấn hữu hạn nên theo dõi vận hành có ý nghĩa vì mỗi truy vấn có tên cố định, và việc ước lượng chi phí trở nên khả thi.
Cái giá: quy trình phát hành phức tạp hơn vì phải đăng ký truy vấn khi build và giữ các phiên bản cũ cho tới khi mọi client cũ ngừng dùng. Với ứng dụng di động, khoảng thời gian đó có thể kéo dài nhiều tháng.