Как избежать запросов на кэшированные файлы - PullRequest
0 голосов
/ 23 мая 2018

У меня есть веб-сервер, на котором хранятся файлы page.html и style.css.Когда я пытаюсь открыть IP_ADDRESS / index.html в браузере, браузер последовательно отправляет два запроса на веб-сервер.Первый запрос для page.html, второй для style.css, который нужен для page.html.Я хотел бы кэшировать style.css в клиентском браузере как можно дольше.Для этого я вставляю строку в заголовок следующим образом:

Cache-Control: public, max-age=31536000, immutable

Когда я пытаюсь открыть page.html в браузере, я впервые вижу два запроса, которые имеют статус 200 для обоих.В следующий раз, когда я открываю page.html, я также вижу два запроса, но запрос к page.html имеет статус 200, а запрос к style.css имеет статус 304.

Я прослушал трафик в Wireshark и даже попыталсяBurp Suite для сканирования http запросов / ответов, и я увидел следующую картинку:

  • Первое подключение к веб-серверу: для первого запроса к page.html я получаю ответ «200 OK», для второго запросана style.css я получаю ответ «200 OK».
  • Второе подключение к веб-странице: для первого запроса к page.html я получаю ответ «200 OK», для второго запроса (есть заголовок If-Modified-Since) на style.css Я получаю ответ "304 Not Modified".

Но проблема в том, что второй запрос к style.css все равно отправляет.Мне нужно полностью избавиться от этого, потому что клиентский браузер уже имеет этот файл.Скажите, пожалуйста, что я должен добавить к заголовкам ответов style.css, чтобы избежать каких-либо запросов к этому файлу, в то время как клиентский браузер имеет кеш файла style.css.Я хотел бы видеть, когда в первый раз клиент получает файлы page.html и style.css, сохраняет style.css в кеше локального браузера, а в следующий раз клиент запрашивает только page.html без style.css, который клиент получает из локальногокеш.

Спасибо за любую помощь.

...