Как я могу сохранить файлы в кеше браузера после отправки его нажатием Server?
У меня есть Apache с http2, и я сделал серверный толчок файлов, которые я хотел бы сохранить в кеше браузера, но это не так, и я не знаю почему.
Я сделал пуш с php-файлом, следующий.
header( 'Link: <'https://www.myweb.com/mypath'>;rel="preload";as="video"', FALSE );
С моей точки зрения, Push сервера работает, потому что я вижу запросы к серверу в access_log, но я думаю, что файлы должны быть сохранены в кеше браузера, но это не так.
Я пытаюсь сделать серверный push-файл, а затем запросить этот файл и получить его из кеша (см. На Сетевой консоли Chrome "из кеша").
Спасибо
1 ответ
Все, что вы сказали, было правдой, и у меня это было в моем коде, но проблема была в понимании сохранения Google Chrome Cache.
Когда вы отправляете какой-либо файл с помощью Server Push по соединению HTTP2, файл, запрошенный через серверную рассылку, отправляется как ответ клиенту, но Google Chrome не сохраняет его в кеше Google Chrome, пока файл не будет запрошен браузером.
Например: сервер отправляет ответ index.html со своим stylesheet.css (этот отправляется с push-запросом сервера). Таблица стилей будет сохранена в кэш Google Chrome только тогда, когда Google Chrome запросит Stylesheet.css (клиент запросил только индекс html и нажмет на таблицу стилей). Если Google Chrome не запрашивает его, это будет невостребованный толчок, и он не будет сохранен в кэш.
Если вы добились успеха и перезагрузили страницу, вы увидите "из кэша" в Google Chrome.
Спасибо за ваше время.