Что такое cookie?
Cookie — это небольшие служебные файлы, которые хранятся на компьютере пользователя. Они содержат данные, относящиеся к пользователю, его предпочтениям и действиям на конкретном сайте: данные для авторизации (логин и пароль), индивидуальные настройки, посещенные страницы, совершенные действия, товары в корзине, дата и время посещения и т.д. Когда пользователь повторно заходит на сайт, браузер отправляет cookie на сервер, чтобы рассказать сайту о предыдущих активностях пользователя. Cookie обладают определенным сроком жизни, по истечении которого они удаляются.
Зачем нужны cookie?
Cookie помогают улучшить пользовательский опыт использования интернет-ресурсов, сделать работу в интернете более комфортной и быстрой. Приведем примеры использования:
- Аутентификация пользователя: благодаря cookie пользователям не приходится при каждом посещении сайта заново вводить логин и пароль. Нагрузка на сервер несколько снижается (поскольку данные подтягиваются не напрямую с сервера).
- Покупки в интернет-магазинах: cookie позволяют запоминать выбранные товары, так, что они сохраняются в корзине, даже если закрыть сайт/приложение.
- Персональные предпочтения и настройки пользователя: сохранение этих данных помогают не настраивать заново при каждом посещении регион, язык, стиль оформления и т.д.
В соответствии с Общим регламентом по защите данных (GDPR) веб-сайты должны оповещать пользователей об использовании файлов cookie, как они и делают с помощью всплывающих окон. Отказаться от использования можно (если такая возможность предоставляется), по правилам GDPR доступ к сервису при этом не будет запрещен или ограничен. Однако надо помнить, что в этом случае пользоваться, например, интернет-магазином станет неудобно.
Зачем чистить cookie?
Во-первых, с целью поддержания конфиденциальности, ведь с помощью cookie можно отследить историю активности в сети, а также, если данных накопится много — потенциально идентифицировать пользователя без его согласия. Во-вторых, если посторонний человек воспользуется компьютером, то он сможет посещать ресурсы и совершать действия под именем пользователя, ведь логины и пароли для входа на сайты сохранены. И напоследок, большое количество сохраняемых файлов cookie отнимает место на жестком диске и в памяти веб-браузера.
Что такое кэш?
Кэшем называется место на диске или в оперативной памяти, где хранится временная информация. Наиболее распространенный тип кэша — браузерный, он помогает сэкономить трафик и время загрузки страниц (что является важным показателем эффективной работы сайта и положительно сказывается на пользовательском опыте). С помощью технологии кэширования HTML-страниц, изображений и других веб-элементов сайты загружаются значительно быстрее при их повторном посещении. Кэш здесь выступает своеобразным промежуточным буфером. Для отображения веб-страниц браузер обращается к кэшу, а остальное содержимое запрашивает с сервера.
Браузерное кэширование для клиент-серверного приложения схематично можно представить себе так:
- Клиент (браузер) отправляет запрос на сервер с целью загрузить определенную веб-страницу
- Сервер на своей стороне формирует ответ и возвращает клиенту пакеты данных, содержащих элементы веб-страницы (HTML и CSS файлы, скрипты, мультимедиа и т.д.)
- Браузер получает ответ от сервера и отображает страницу, при этом кэшируя некоторые данные.
Зачем чистить браузерный кэш?
Первая причина — поддержание актуальности данных сайта и своевременное получение обновлений. Если в веб-страницы были внесены изменения, а браузер продолжает использовать уже устаревшие и данные из кэша, то страницы будут отображаться некорректно. После очистки кэша же все данные для загрузки сайта подтягиваются непосредственно с сервера. Во-вторых, кэш занимает какое-то пространство на жестком диске, что замедляет работу устройства. Ну и наконец, некоторые ошибки в работе сервисов (на стороне клиента) чинятся путем очистки кэша.
Полезные факты:
- Если открыть страницу в браузере в режиме “инкогнито”, то кэш использоваться не будет, браузер будет получать данные напрямую с сервера.
- Комбинация горячих клавиш Ctrl+F5 обновляет страницу, также без использования кэша браузера.
Разница между куки и кэш
Cookie хранят данные, относящиеся к пользователю, его предпочтениям, настройкам и действиям на веб-страницах и используются для более комфортного использования интернет-ресурсов. Кэш хранит некоторое содержимое веб-сайта и используется для ускорения доступа к данным, снижения нагрузки на сервер, более быстрой загрузки сайта.
Cookie-файлы весят обычно немного, поскольку представляют собой текстовые документы, в то время как кэш может занимать много места. Cookie обычно удаляются по истечению срока действия, в то время как кэш хранится на устройстве до тех пор, пока пользователь вручную его не очистит.
Еще больше о кэше и cookie читайте здесь.