我环顾四周,但一直没能找出如果我应该使用了ETag 和一个Expires头或一个或另一个.
我要做的是确保我的Flash文件(以及其他图像以及当这些文件发生更改时不仅会更新.
我不想做任何特别的事情,例如更改文件名或在URL的末尾添加一些奇怪的字符以使其不被缓存.
另外,在我的PHP脚本中,我需要以编程方式执行任何操作以支持此操作,还是所有Apache?
我们正在使用 Jenkins 管道在 apache 服务器上部署我们的 React 应用程序。当我们部署新代码时,大多数新功能都可以正常工作,但并非所有更改都反映了浏览器中的最新情况。用户必须打开隐身窗口或清除缓存才能查看新功能。
我已经看到了相关的几个解决方案的角度应用 但任何特定反应的应用程序,我没有看到任何地方。在构建期间,我们可以添加一些可以自动为最终用户提供最新更改的内容吗?我想, Cache busting 是必需的 但是我们怎么能在代码中没有大量修改,就像上面的解决方案对 Angular 应用程序所做的那样。
我和我的团队正在研究 Laravel API,它与 Vue.js 前端通信,前端使用 Apollo 客户端来使用 GraphQL 响应。
我们遇到了将缓存控制标头添加到响应中的问题。
Apollo 无法缓存内容,因为响应包含以下标头:
Cache-Control: no-cache, private
Run Code Online (Sandbox Code Playgroud)
在 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 =
Run Code Online (Sandbox Code Playgroud)
在 nginx 配置中,我们找不到任何设置这些标头的内容。我检查了我们在站点/可用中设置的全局 nginx.conf 和配置文件。
我可以将其添加到 nginx 配置中,但它只会添加另一个标头:
add_header Cache-Control "public";
Cache-Control: no-cache, private
Cache-Control: public
Run Code Online (Sandbox Code Playgroud)
如果此标头不是来自 PHP 或 nginx,那么它可能来自哪里?我该如何删除或覆盖它?