Dùng GET khi kết hợp với persisted query: địa chỉ trở nên duy nhất theo hash và biến, nên tầng phân phối nội dung và cache trung gian đệm được.
Với truy vấn dài viết thẳng thì POST an toàn hơn vì không vướng giới hạn độ dài địa chỉ.
bash
# GET is cacheable by CDN/browser, but the URL length caps the document
GET /graphql?query=%7Bme%7Bname%7D%7D&variables=%7B%7D
# in practice: use it together with persisted queries (send the hash, not the text)Đây là một trong số ít cách lấy lại khả năng cache ở tầng mạng cho GraphQL. Kết hợp thêm tiêu đề thời hạn theo từng truy vấn thì dữ liệu công khai như danh mục sản phẩm được phục vụ ngay từ tầng biên.
Điều kiện an toàn: chỉ áp cho truy vấn đọc; tách rõ truy vấn công khai và truy vấn cần đăng nhập vì đệm dữ liệu riêng tư ở tầng chung là rò rỉ; và đưa các thông tin ảnh hưởng kết quả như ngôn ngữ vào khoá cache.