gpt4 book ai didi

Symfony HTTP Cache-Control header 覆盖

转载 作者:可可西里 更新时间:2023-11-01 16:06:12 25 4
gpt4 key购买 nike

我已经回答了this前段时间提问。

我目前在 Symfony 3.4 中的代码。

 $response->setCache([
'max_age' => 3600,
'public' => true,
's_maxage' => 3600,
]);


// (optional) set a custom Cache-Control directive
$response->headers->addCacheControlDirective('must-revalidate', true);

return $response;

出于某种原因,我仍然得到 Cache-Control 和其他像这样的 header :

Cache-Control: max-age=0, must-revalidate, private, s-maxage=3600
X-Symfony-Cache: GET /: miss

我注意到在 Symfony 3.2 中代码运行良好,但在 3.4 中我没有在 Cache-Control 中获得 public(并且 max-age=0 看起来也很糟糕)。

第二件事是在 Controller 中转储 $response - 一切看起来都很好:

#headers: array:2 [▼
"cache-control" => array:1 [▼
0 => "max-age=3600, must-revalidate, public, s-maxage=3600"
]
"date" => array:1 [▼
0 => "Sat, 12 May 2018 18:42:04 GMT"
]
]

这是某种 Symfony 错误吗?我应该报告吗?

最佳答案

与 Symfony 3.4.14 相同。花了5个小时才发现从 3.4 版本开始,如果 session 存在 (4.1 documentation),symfony 会覆盖 Cache-Control header 。

Symfony 3.4 文档没有这个信息。

关于Symfony HTTP Cache-Control header 覆盖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50309578/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com