Переопределение заголовка Symfony HTTP Cache-Control - PullRequest
0 голосов
/ 12 мая 2018

Я ответил на этот вопрос некоторое время назад.

Мой код на данный момент в 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 и другие заголовки, подобные этому:

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

Я заметил, что в Symfony 3.2 код работает хорошо, но в 3.4Я не получаю public в Cache-Control (и max-age=0 тоже выглядит плохо).

Вторая вещь - это сброс $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?Должен ли я сообщить об этом?

Ответы [ 2 ]

0 голосов
/ 11 июля 2019

В моем случае я использовал symfony / security-bundle, который поставляется с конфигурацией по умолчанию:

security:
    providers:
     ....
    firewalls:
        main:
          anonymous: true

Этот код инициализирует сеанс.Вы можете использовать:

security:
    providers:
     ....
    firewalls:
        main:
          security: false
0 голосов
/ 17 августа 2018

То же самое с Symfony 3.4.14. И потратил 5 часов, чтобы выяснить, что с версии 3.4 symfony переопределяет заголовок Cache-Control, если сеанс существует ( 4.1 документация ).

В документации Symfony 3.4 эта информация отсутствует.

...