У меня есть Apache с http2, и я сделал серверный щелчок файлов, которые я хотел бы сохранить в кеше браузера, но это не так, и я не знаю почему.Как я могу сохранить файлы в кеше браузера после нажатия на него с помощью нажатия на сервер?
Я сделал push с файлом php, следующим.
header('Link: <'https://www.myweb.com/mypath'>;rel="preload";as="video"', FALSE);
С моей точки зрения, толкающий сервер работает, потому что я могу увидеть запросы к серверу в access_log, но я думаю, что файлы должны быть сохранены в кэше браузера, но это не.
Я пытаюсь сделать серверное нажатие файла, а после него запросить этот файл и получить его из кеша (см. На консоли сети Chrome «из кеша»).
Благодаря
Вы подтвердили заголовки 'Cache-Control' от нажатого содержимого? Какой из них он имеет? Можно установить 'public, max-age = somevalue',' expires', 'etag' и' last-modified'. Если с другой стороны «private», «no-store» или «no-cache» установлены, то нажатие на сервер не поможет вам. Нагрузка сервера просто помещает данные в локальный кеш веб-браузера. В заголовке 'Cache-Control' указывается, будут ли использоваться данные из кеша и как долго они будут использоваться. – Oleg
Я об этом подумал, но я не знаю, где установить эти параметры. Если я поместил URL-адрес файла, который я нажимаю, файл загружается и сохраняется в кеше, потому что у него есть параметры, которые вы сказали. Но кажется, что когда я делаю push, у него нет параметров. Я не знаю, должен ли я установить некоторый параметр в строке push (header ...). – Elo
IMO, настройка кэширования корректно даже для веб-сайта HTTP/1.1 трудно в любое время года. Сочетание этого с HTTP2 Push еще сложнее. [Вот статья] (https://www.shimmercat.com/ru/info/articles/caching/) с некоторыми подробностями о том, как объединить параметр запроса, сделать push и т. Д. Полное раскрытие информации, мы создали большую часть сервера, чтобы получить это право, и мы все еще в пути. – dsign