Заголовок JSON Cache в браузере не работает

Я делаю запрос к файлу php, и я забрал эти заголовки

Access-Control-Allow-Origin: *
Cache-Control: max-age=360000, must-revalidate
Connection: keep-alive
Content-Type: application/json
Date: Thu, 19 Jul 2018 07:08:20 GMT
Expires: Mon, 26 Jul 2040 05:00:00 GMT
Pragma: no-cache
Server: nginx
Transfer-Encoding: chunked

Я использую эти заголовки в файл php

header('Cache-Control: max-age=360000, must-revalidate');
header('Expires: Mon, 26 Jul 2040 05:00:00 GMT');
header('Content-type: application/json');
header("Access-Control-Allow-Origin: *");

Но каждый раз, когда я обновляю страницу … Она не кэшируется … Она всегда запрашивает ответ у сервера.

Есть идеи? Я хочу быть кэшированным до истечения срока действия

3

Решение

Я предполагаю что Pragma: no-cache может быть проблема, удалите этот заголовок

По документации

Поле заголовка Pragma: no-cache является заголовком HTTP / 1.0, предназначенным для
использовать в запросах. Это средство для браузера, чтобы сообщить серверу и
любые промежуточные кэши, которым требуется свежая версия ресурса,
не для сервера, чтобы сказать браузеру не кэшировать ресурс. Немного
пользовательские агенты обращают внимание на этот заголовок в ответах, но
HTTP / 1.1 RFC специально предупреждает против использования такого поведения.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]