Я должен вернуть определенный заголовок контроля кэша (Cache-Control: public, max-stale=13910400
) но когда запускаю это, я получаю это:
Cache-control дублирован, но мне нужны только пользовательские значения.
$newResponse = $response->withHeader('Cache-Control', 'public, max-stale=13910400')->withJson($appInfo);
return $newResponse;
Я пробовал это, но это не работает (только для тестирования):
$newResponse = $response->withoutHeader('Cache-Control')->withHeader('Cache-Control', 'public, max-stale=13910400')->withJson($appInfo);
return $newResponse;
Как правильно установить заголовок?
Спасибо
Я подозреваю, что у вас может быть проблема с промежуточным программным обеспечением.
Ваш код выше производит правильный вывод.
$app->get('/test', function ($req, $res, $args) {
header_remove("Cache-Control"); //Edit <--
$newResponse = $res->withHeader('Cache-Control', 'public, max-stale=13910400')->withJson(["message" => "Test"]);
return $newResponse;
});
CURL выход
C: \ Users \ Glenn> curl -X GET -v HTTP: // локальный / vms2 / открытый / тест
HTTP / 1.1 200 ОК
Дата: вторник, 13 сентября 2016 г. 19:04:42 GMT * Сервер Apache / 2.4.10 (Win32) OpenSSL / 1.0.1i PHP / 5.6.3 не занесен в черный список
Сервер: Apache / 2.4.10 (Win32) OpenSSL / 1.0.1i PHP / 5.6.3
X-Powered-By: PHP / 5.6.3
Cookie-набор: VMS2 = 2qf14qr1c0eplgfvibi8t2hcd2; Путь = /
Истекает: четверг, 19 ноября 1981 года, 08:52:00 по Гринвичу
Прагма: без кеша
Cache-Control: общедоступный, max-stale = 13910400
Длина контента: 18
Тип содержимого: application / json; charset = utf-8
{ «Сообщение»: «Test»}
- Соединение № 0 с локальным хостом осталось нетронутым
Других решений пока нет …