Большинству web-разработчиков известно, что статику (js, css - о них речь в статье) нужно кешировать на клиенте. Это сильно ускоряет работу сайта, и даже Google PageSpeed Insights требует делать кеш. В общем-то, правильно требует.
Встает другой вопрос - какой правильно ставить expires (время жизни кеша) и как его правильно сбрасывать. А то ведь случается релиз - бакенд уже новый, а фронтенд у пользователя старый, из кеша.
Для этого нам нужно ответить на следующие вопросы:
Что является ключом кеширования для URL в браузере?
Ключом кеширования URL является... сам URL, что логично. Полный адрес страницы от htt.....и/до/самого..?последнего=параметра. Без якоря (идущего после #)
<script src="/templ/js/any-js-file.js?881"></script>
Ответив на все вопросы, получилась весьма неплохая инструкция. Сам кеш в nginx настраивается следующим образом:
location ~* ^.+\.(jpg|jpeg|gif|png|rar|txt|tar|wav|bz2|exe|pdf|doc|xls|ppt|bmp|rtf|js|ico|css|zip|tgz|gz|svg)$ { root /root/path/of/your/site/; expires 30d; access_log off; }
И не забудьте включить gzip:
gzip on; gzip_disable "msie6"; gzip_vary on; gzip_proxied any; gzip_comp_level 6; gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript application/octet-stream image/svg+xml;
Особенности серверных приложений, работающих с сетью IoT-устройств на практике и в теории
Как исключить большинство современных проблем бизнеса и жить спокойно
Информация для осмысления
Если считаете, что парсинг Вашего сайта - проблема, то эта статья для Вас.
Протокол WebSocket имеет свои преимущества и свои недостатки: детальный разбор