API 平台 - 更改 max_age 配置值不会更改 max-age 请求值
API Platform - Changing max_age config value doesn't change the max-age request value
我有一个使用 API 平台的应用程序和另一个使用我的 API 平台的应用程序。
我想更改 max-age 值,但是当我更改配置中的值时,它不会在我发送请求时更改值...
这是我的配置:
api_platform:
...
http_cache:
max_age: 600
...
这是我的请求和回复 headers:
告诉我哪里做错了。
RFC 在这里讨论最大年龄:Header Field Definitions
此页面也可以为您提供很多帮助:Hypertext Transfer Protocol
可能的 max-age
值取决于 browser/version 和任何 proxy在路上。
在没有任何明确的标准指导的情况下,也适用于缓存控制。
只要你通常需要,选择任意更长的值可能会破坏一些用户代理。
为什么响应缓存 headers 被设置为私有和 max-age=0 的可能解释是有一个 session 打开(即使你不使用它) .发生这种情况时,SessionListener 将覆盖缓存 headers 以禁用它。
为了解决这个问题,您只需在防火墙配置中设置 stateless: true 即可:
# config/packages/security.yaml
security:
firewalls:
main:
stateless: true
我有一个使用 API 平台的应用程序和另一个使用我的 API 平台的应用程序。
我想更改 max-age 值,但是当我更改配置中的值时,它不会在我发送请求时更改值...
这是我的配置:
api_platform:
...
http_cache:
max_age: 600
...
这是我的请求和回复 headers:
告诉我哪里做错了。
RFC 在这里讨论最大年龄:Header Field Definitions
此页面也可以为您提供很多帮助:Hypertext Transfer Protocol
可能的 max-age
值取决于 browser/version 和任何 proxy在路上。
在没有任何明确的标准指导的情况下,也适用于缓存控制。
只要你通常需要,选择任意更长的值可能会破坏一些用户代理。
为什么响应缓存 headers 被设置为私有和 max-age=0 的可能解释是有一个 session 打开(即使你不使用它) .发生这种情况时,SessionListener 将覆盖缓存 headers 以禁用它。
为了解决这个问题,您只需在防火墙配置中设置 stateless: true 即可:
# config/packages/security.yaml
security:
firewalls:
main:
stateless: true