HTTP-запросы, игнорирующие кэшированные SVG - PullRequest
0 голосов
/ 06 ноября 2019

Я получаю данные с помощью API Fetch с того же сервера. Я получаю данные JSON, а также файлы SVG (используя тег img). Оба запроса возвращают HTTP-заголовок Last-Modified, чтобы браузеры могли кэшировать содержимое. Оба запроса также успешно кэшируют ресурсы. Я проверяю это с помощью программного обеспечения ChromeCacheView . Это означает, что при последующих запросах браузер также отправляет заголовок If-Modified-Since.

Теперь дело в том, что данные JSON обслуживаются из кэша, а не из файлов SVG, хотя оба запроса содержат заголовок If-Modified-Since в своих запросах. Я протестировал три сценария:

  • При обновлении страницы - при загрузке данных SVG и JSON и отображении SVG, поскольку они наложены на карту

    • В этом случае данные JSON и SVG извлекаются из кэша памяти
  • При обновлении страницы - в то время как SVG и JSONданные загружаются и SVG имеет НЕ в представлении, поскольку они наложены на карту

    • В этом случае данные JSON по-прежнему выбираются из кэша, но не из SVG
  • После загрузки страницы на новой вкладке - новый сеанс

    • В этом случае данные JSON по-прежнему выбираются изкеш, но опять же не SVG

Заголовки, связанные с кешем HTTP, содержат только Cache-Control: public, must-revalidate и, конечно, Modified-Since. К сожалению, у меня сейчас нет примера кода, чтобы воспроизвести это, но все же, если у вас есть какие-либо мысли по этому поводу?

...