Хорошее видео, но не совсем полное. Можно добавить про Last-Modified, который работает практически также но только с датой. Удобно для оптимистичной блокировки. Ну и Cache-Control, это уже отдельная история. С ним можно закешиоовать ответ на промежуточных прокси в интернете.
Очень жаль, что не рассказали про stalled. Особенно момент с ограничением на кол-во соединений к 1 домену по дефолту у браузеров. Очень часто наблюдаю такое на сайтах которые долго не могут загрузить самые важные данные из-за того что идут ещё какие-то запросы на тот же домен.
Единственное что нужно учитывать, что это сильно увеличит память на сервере, в некоторых случаях это может быть очень дорого, так что тут скорей трейдоффы, на нединамичные данные может и стоит, ну и картинки естественно.
У меня на проекте React, созданным через CRA и захостщеным через nginx, проблема - после обновления на сервере файлов статики проекта - пользователи все равно получили 304 статус на запросы. Проблемы бявно в nginx, но кроме как отклчюения именно для файла index.html кеширования, не удалось решить ее и вообще понять почему иногда пользователи получали 304 вместо 200 (отловить этот момент крайне сложно, но когда и получалось - так и не смогли понять из-за чего проблема).
Начал знакомство с этой складкой, когда заметил, что скрипт 10mb качает за минуту при скорости провайдера 30mb. Причем каждый раз когда меняется файл, так и смог понять в чем проблема и как решить.
Вопрос есть, если мы используем некст и делаем серверные запросы, можно как то тайминг посмотреть? Иногда не понимаю, почему некоторые страницы грузит очень долго, а некоторые моментально, скорее всего из-за кеша, но что вызывает такую задержку хотелось бы знать:)
@@MrJettann мы как раз на работе на этой неделе тоже себе запланировали сделать ресерч инструментов для мониторинга перфоманса. После него я тут отпишусь, будет интереснее ответ
А как можно отключить кэширование страницы в реакте, заметил такую штуку, если перейду со своего приложения на другой сайт и нажму стрелочку назад, то все данный остаются в useState и в zustand, как заставить браузер перезагрузить страницу?
А можно ли как-то еще получить данные с кэша не имея подключения к интернету ? для статики есть serviceWorker, для данных localstorage но он не очень удобный и там ограничение в 5мб
@it-sin9k, Привет, спс за видос, недавно словил себя на мысли, что современные фреймворки реакта для реальных проектов ненужны. К примеру в настоящих проектах next js app router будет не выгоден как в хостинге(полная зависимость от vervel) так и в разработке. Это не стоит тех денег и времени лишь бы первая загрузка была не 3 сек, а 1 сек. Что ты думаешь по этому поводу и о других фреймворках - Nuxt, Svelte, Solid, Astro.
ну это зависит от вашего продукта. Если у вас условный хабр, где вы хотите чтобы весь ваш сайт индексировался, то SSR нужен. А если вы пилите внутренний портал то можно и забить на это все
Почему версионность не внедряют для перевода) Те я допустим храню у себя на локалке инфу о последней версии перевода, отправляю запрос на сервер, который мне говорит какая у него версия...Если версии одинаковые, ничего не делаем. Если версии отличаются или отсутствуют, делаю запрос на получение перевода
@@it-sin9k браузер показывает сохраненную страницу как будто не было перехода. все остается прежнее. в первую очередь это на ифонах такое. как просто загружена страница в стэк а потом взята оттука как из стэка.
Хорошее видео, но не совсем полное. Можно добавить про Last-Modified, который работает практически также но только с датой. Удобно для оптимистичной блокировки. Ну и Cache-Control, это уже отдельная история. С ним можно закешиоовать ответ на промежуточных прокси в интернете.
Ну можно зайти в доку и там увидеть все)
@@zizzxiii2714 ну с такой логикой видео можно вообще не делать. Ведь всё в доке есть.
Спасибо Мише за прокачку. Саше за видео)
Очень полезная инфа! Спасибо!
Это может быть крайне полезно для своих собственных инди-проектов))
О, круто. Спасибо за видео. Не так давно внедрял это подход на рабочем проекте )
Большое спасибо. И Вам, и Мише!
Прикольно. Недавно только изучал эту тему. Читал статью одного из разработчиков гугл хром. И тут спустя пару дней видео от вас)
эхх) надо было поторопиться))
@@it-sin9k идеально, повторение лишним не будет!
Очень интересно. Спасибо
Отличное видео, лайк! 😏
Очень жаль, что не рассказали про stalled. Особенно момент с ограничением на кол-во соединений к 1 домену по дефолту у браузеров. Очень часто наблюдаю такое на сайтах которые долго не могут загрузить самые важные данные из-за того что идут ещё какие-то запросы на тот же домен.
ну все в одном видео не расскажешь)
Крутая информация 💥
Спасибо) что то новое узнал и решил поделиться)
Единственное что нужно учитывать, что это сильно увеличит память на сервере, в некоторых случаях это может быть очень дорого, так что тут скорей трейдоффы, на нединамичные данные может и стоит, ну и картинки естественно.
меня 5 лет назад на интервью спросили про eTag, запомнил навсегда после того случая
меня никто так и не спрашивал, за всю мою карьеру))
Лайк в поддержку видео❤
спасибо за поддержку!) это бесценно)
2 секунды на ответ от сервера - это может быть из-за того, что переменная node_env не production. Экспресс быстрее будет работать с ней
звучит как рабочая идея)
Синяк, спасибо за контент. А сколько у тебя времени занимает чтобы сделать такой 10 минутный ролик?
сложный вопрос. Тут 2 человека зайдествовано в создании. Думаю суммарно часов 5-8 уходит в зависимости от сложности
ВОУ ❤🔥
🔥🔥🔥
У меня на проекте React, созданным через CRA и захостщеным через nginx, проблема - после обновления на сервере файлов статики проекта - пользователи все равно получили 304 статус на запросы. Проблемы бявно в nginx, но кроме как отклчюения именно для файла index.html кеширования, не удалось решить ее и вообще понять почему иногда пользователи получали 304 вместо 200 (отловить этот момент крайне сложно, но когда и получалось - так и не смогли понять из-за чего проблема).
Начал знакомство с этой складкой, когда заметил, что скрипт 10mb качает за минуту при скорости провайдера 30mb. Причем каждый раз когда меняется файл, так и смог понять в чем проблема и как решить.
Вопрос есть, если мы используем некст и делаем серверные запросы, можно как то тайминг посмотреть? Иногда не понимаю, почему некоторые страницы грузит очень долго, а некоторые моментально, скорее всего из-за кеша, но что вызывает такую задержку хотелось бы знать:)
да, конечно, смотрите тайминг. Или добавляйте метрики, чтобы смотреть какой код сколько времени занимает
@@it-sin9k а как это сделать, можно пример?)
@@MrJettann мы как раз на работе на этой неделе тоже себе запланировали сделать ресерч инструментов для мониторинга перфоманса. После него я тут отпишусь, будет интереснее ответ
@@it-sin9k супер, буду ждать)
А как можно отключить кэширование страницы в реакте, заметил такую штуку, если перейду со своего приложения на другой сайт и нажму стрелочку назад, то все данный остаются в useState и в zustand, как заставить браузер перезагрузить страницу?
Хороший вопрос, мы в другом комментарии тоже это обсуждали. Не копал в эту сторону, может попробую еще посмотреть
А можно ли как-то еще получить данные с кэша не имея подключения к интернету ? для статики есть serviceWorker, для данных localstorage но он не очень удобный и там ограничение в 5мб
когда отправляешь картинку с сервера устанавливать заголовок с кэш тайм побольше и браузер сам всю работу делает
по идее можно. У fetch есть разные стратегии, например можно заставить его смотреть в кеше ответ предыдущий
@it-sin9k, Привет, спс за видос, недавно словил себя на мысли, что современные фреймворки реакта для реальных проектов ненужны. К примеру в настоящих проектах next js app router будет не выгоден как в хостинге(полная зависимость от vervel) так и в разработке. Это не стоит тех денег и времени лишь бы первая загрузка была не 3 сек, а 1 сек. Что ты думаешь по этому поводу и о других фреймворках - Nuxt, Svelte, Solid, Astro.
ну это зависит от вашего продукта. Если у вас условный хабр, где вы хотите чтобы весь ваш сайт индексировался, то SSR нужен. А если вы пилите внутренний портал то можно и забить на это все
необязательно использовать vercel
Почему версионность не внедряют для перевода)
Те я допустим храню у себя на локалке инфу о последней версии перевода, отправляю запрос на сервер, который мне говорит какая у него версия...Если версии одинаковые, ничего не делаем. Если версии отличаются или отсутствуют, делаю запрос на получение перевода
а зачем? оно же и так по etag отдает 304 и не качает. В чем польза?
а потом нажал стрелку назад а в корзине снова товаров меньше или больше чем только что было. вот и польза или вред этого кэша не всегда очевидно.
а каким образом это возможно? мы же каждый раз заново высчитываем eTag
@@it-sin9k браузер показывает сохраненную страницу как будто не было перехода. все остается прежнее. в первую очередь это на ифонах такое. как просто загружена страница в стэк а потом взята оттука как из стэка.
Хороший вопрос, честно говоря не особо знаю как они сохраняют предыдущее состояние страницы
А где на англ видосик?
мы решили остановить английскую версию. Пока ей не занимаемся :(
Не "скачка", а скачивание