Firebaseの上にGraphQL APIを構築しました。 APIはリクエストを処理するためにFirebase Hostingに接続されたクラウド機能を利用します。Firebase関数に対するPOST要求への応答のキャッシュ
私の目的は、GraphQL APIに送信されたリクエストに対するレスポンスをキャッシュすることです。
次のようにアンExpressJSミドルウェアが設定されている:
function setCacheHeaders(req, res, next) {
res.set('Cache-Control', 'public, max-age=300, s-maxage=600');
return next();
}
私はAPIにGETリクエストを送信した場合、私はそれがCDNを打つ参照してください。ただし
X-Cache: HIT
X-Cache-Hits: 1
X-Served-By: cache-lhr6343-LHR
、私はPOSTを送信するときリクエスト(これは、読取り専用操作であっても、GraphQLエンドポイントとやりとりするための通常の方法です)キャッシュにヒットするリクエストはないことがわかります。ただし、応答には次のヘッダーが含まれています。
HTTP/1.1 200 OK
Accept-Ranges: bytes
Connection: keep-alive
Content-Length: 311
Content-Type: application/json
Date: Thu, 27 Jul 2017 05:41:02 GMT
Server: nginx
Strict-Transport-Security: max-age=31556926
Vary: Accept-Encoding, Authorization, Cookie
Via: 1.1 varnish
X-Cache: MISS
X-Cache-Hits: 0
X-Served-By: cache-lcy1133-LCY
X-Timer: S1501134062.745716,VS0,VE640
cache-control: public, max-age=300, s-maxage=600
function-execution-id: xg0qjlghrtrv
x-cloud-trace-context: 02434a5f73159e24d949e74026bb8843, 02434a5f73159e24d949e74026bb8843
x-powered-by: Express
Firebase HostingでのPOST要求に対する応答をキャッシュすることはできませんか?