【发布时间】:2018-06-07 15:43:13
【问题描述】:
我和我的团队正在开发一个 Laravel API,它与 Vue.js 前端进行通信,该前端使用 Apollo 客户端来使用 GraphQL 响应。
我们遇到了将缓存控制标头添加到响应中的问题。
Apollo 无法缓存内容,因为响应包含此标头:
Cache-Control: no-cache, private
在 php.ini 中,我们有这个禁用 PHP 发送缓存控制标头:
; Set to {nocache,private,public,} to determine HTTP caching aspects
; or leave this empty to avoid sending anti-caching headers.
; http://php.net/session.cache-limiter
session.cache_limiter =
在 nginx 配置中,我们找不到任何设置这些标头的内容。我检查了我们在 sites/available 中设置的全局 nginx.conf 和配置文件。
我可以将它添加到 nginx 配置中,但它只会添加另一个标题:
add_header Cache-Control "public";
Cache-Control: no-cache, private
Cache-Control: public
如果此标头不是来自 PHP 或 nginx,那么它可能来自哪里? 我怎样才能删除或覆盖它?
- Laravel 5.5
- Folkloreatelier/laravel-graphql
- PHP 7.1
- nginx 1.14.0
- Ubuntu 16.04
【问题讨论】:
-
尝试上传示例 HTML 并将其加载到浏览器中并检查其中是否存在缓存标头
标签: php laravel nginx graphql apollo