Как стать автором
Обновить

Комментарии 13

Уже сколько раз видел статьи про кеширование изображений с помощью sw, и так и не могу понять, а зачем? Ведь браузер изображения и так кеширует.

Выставлять заголовки на бэкенде не модно. Но в целом, как обзор технологий, статья годная.

например, для офлайн режима

к сожалению нет, для того что бы мы уверенно могли сказать, что наше приложение может работать в офлайн режиме, мы должны загрузить картинки сами, когда есть связь, а не надеяться на то, что пользователь ранее к ним обращался и на клиенте это закешировано.

Вы наверное про Google workbox не слышали, можно всю статику принудительно закешировать

1. В отличии от кеширования браузером, кеширование с использование sw дает вам полный контроль над вашим кешем. Браузер не дает Вам никаких инструментов по управлению кешем вообще. Как и не дает гарантий того, что кешироваться что-то вообще будет, не смотря на все ваши заголовки. А если и будет закешировано, то может быть удалено от туда уже через минуту работы. По сути, в случае если вы полагаетесь на браузер, вы ничего не знаете о том как обстоят дела с кешем.

2. sw и cache api позволяет работать с кешем даже тогда когда связь отсутсвует.

3. работая через sw, Вы и только Вы решаете, что когда и как будет загружаться. Честно говоря я вообще не представляю как можно делать современный проект без sw.

Я как пользователь хочу сам решать, кто и что хранит у меня на устройстве, а на Ваши желания мне побоку. Когда для гореразрабов это дойдёт... Рано или поздно просто получите бан sw+cache, как критическая масса наберётся...

@aio350погоняли ваш Imgproxy, он так не хило жрет ресурсов для картинок 2k+ , не годится для обработки в реалтайме для высоконагруженных систем.

Он умеет делать ресайз и сохранять конечную картинку на диске и потом при следующем запросе без обработки её использовать?

И еще вопросик, часто бывает нужно получать в ответе конечный файлнейм , а не диктовать его название от клиента.

Тоесть загружаешь 1.png , а тебе дают GUID в ответ 4593-053534-545-3453.png. Такое умеет?

  1. Imgproxy, к сожалению, не мой. Вот его разработчик: https://github.com/DarthSim

  2. Сохранение файлов на диске и их последующее использование без запроса к imgproxy похоже на кеширование.

  3. Честно говоря, не знаю, полистайте доку: https://docs.imgproxy.net/

он так не хило жрет ресурсов для картинок 2k+ , не годится для обработки в реалтайме для высоконагруженных систем.

Он умеет делать ресайз и сохранять конечную картинку на диске и потом при следующем запросе без обработки её использовать?

nginx вам в помощь

Тег figure решает специфические семантические задачи и не может использоваться как универсальное средство при верстке изображений.

За исключерием случаев, когда для Вас не важно то, каким образом ваша верстка будет интерпретирована сторонними средсвами анализа контента. Только в этом случае, тег figure Вам тем более не нужен, и только будет бесполезно потреблять ресурсы.

Постоянные запросы к favicon связана с особенностями работы devtools. Если Вы закроете devtools и перегрузите страницу, обнаружите что все работает как ожидается.

Спасибо за дополнение

Зарегистрируйтесь на Хабре, чтобы оставить комментарий