Что такое cookie (куки)?

Что такое cookie (куки)?

Что такое cookie (куки)?В рамках данного обзора, я расскажу вам что такое cookie (куки) и зачем они нужны.

Представьте себе, что вам приходилось бы при каждом открытии любого сайта с авторизацией (социальные сети и тому подобное) вводить логин и пароль. Было бы это удобно? Вряд ли. И это только лишь один пример. В реальности же, ситуаций, при которых хранение данных в браузере пользователя полезно, существенно больше.

Одним из самых первых подходов для решения подобных проблем был cookie (куки). Об этой технологии и пойдет речь далее.

Примечание: Данный материал предназначен для начинающих и обычных пользователей, хотя может быть полезен и более опытным.

 

Cookie (куки) - определение

Что такое cookie (куки)?

Cookie, куки (сленг - "печеньки") - это данные, которые передаются веб-сайтом в браузер, с целью сохранения их в компьютере пользователя и обратной передачи при каждом открытии сайта. Иными словами, это как билеты в театр: вам их дают (сайт браузеру) и вы с ними приходите обратно (браузер сайту). Обычно, размер таких "печенек" сильно ограничен. Например, хранить фильмы или музыку не получится, однако небольшую, но полезную информацию можно.

Впервые данная технология появилась в далеком 1994 году в браузере Netscape. Со временем ее стали поддерживать остальные браузеры, такие как Internet Explorer, Opera, Chrome, Firefox, Яндекс.Browser и прочие. Настолько полезной она оказалась.

Примечание: Для понимания, большинство существующих сайтов в интернете используют cookie. Кстати, поэтому попытка отключить в браузерах поддержку куки может приводить к тому, что они не будут корректно функционировать.

 

Механизм куки

Механизм куки достаточно прост:

1. Вы открываете браузер, вводите адрес сайта и нажимаете "Enter".

2. Браузер посылает запрос веб-серверу, где расположен сайт, чтобы получить от него данные (содержимое веб-странички).

3. Веб-сервер отсылает информацию браузеру, а так же дополняет специальной командой вида "сохранить в куки такой-то параметр".

4. Браузер сохраняет этот параметр в cookie и отображает сайт.

5. При каждом последующем открытии странички сайта (или перезагрузке), браузер вместе с основными данными так же передает содержимое cookie.

При этом, если сайту необходимо изменить значение какого-то параметра, то он действует аналогично тому, как в шаге 3.

Со временем, стало понятно, что изменение данных cookie может быть необходимо и в самом браузере, а не только через сервер, как было описано выше. Поэтому доступ к редактированию так же стал возможен и из JavaScript (это специальный язык, благодаря которому содержимое странички может корректироваться без перезагрузки - двигающиеся блоки, красивая анимация и прочее). Грубо говоря, сайт прислал "сохранить в куки param1=321", а браузер в ходе действий пользователя изменил его значение с "321" на "123" без перезагрузки страницы.

Примечание: Советую ознакомиться с обзором устройство DNS сервера.

 

Классификации cookie

Разберем несколько самых основных классификаций куки:

По времени действия:

1. Сессионные cookie. Это куки, у которых не установлено время действия. Они хранятся только в памяти браузера и удаляются при его закрытии. Такие куки нередко применяются для внутренних технических нужд сайта или же сохранения временных настроек. Например, "размер области формы=1200 пикселей".

2. Постоянные cookie. Это куки, у которых задано время действия. Они сохраняются браузерами в файлах и не удаляются до тех пор, пока не истечет время действия. Такие куки могут так же применяться для технических нужд, однако чаще для хранения авторизации пользователей (см. что такое аккаунт) и подобного.

По типу появления:

1. Куки сайта. Данные cookie создаются конкретно тем сайтом (или с помощью JavaScript в браузере для него), который вы открываете. Например, открыли сайт site.ru, у вас в браузере появилась cookie, связанная с этим сайтом.

2. Сторонние куки. Эти cookie создаются в тех случаях, когда основной сайт открывает контент с другого сайта, такой как рекламный блок. Пример для понимания. Допустим, вы открываете site.ru, он отображает рекламный блок с site2.ru. Так как данные открываются браузером с сайта site2.ru аналогично тому, как и с сайта site.ru, то site2.ru может создавать собственные cookie. Иными словами, при открытии основного сайта, у вас может появиться две куки: одна для site.ru (куки сайта) и вторая для site2.ru (сторонние куки).

 

Плюсы и минусы куки

Основные плюсы куки:

1. Удобство. Решение многих технических проблем простым и удобным методом. При этом от пользователей ничего не требуется (например, вводить специального вида url или нечто подобное).

2. Распределение нагрузки. Абстрактный пример. Допустим, у сайта 1 000 000 пользователей. Для каждого пользователя необходимо хранить 10 настроек по 100 символов. Это означает, что сайту пришлось бы хранить порядка 1 000 000 000 символов (1 000 000 * 10 * 100), что чуть меньше 1 Гб данных (а если учитывать различные технические особенности, то эта цифра легко может увеличиться в 2 и более раз). А так, сайт ничего не хранит и у каждого пользователя хранится всего 1000 символов.

3. Возможность быстрой авторизации. Так как куки передаются браузером в веб-сервер сайта, то в них можно хранить специальный идентификатор, позволяющий осуществлять автоматических вход в сайт.

4. Для корректировки данных не нужно каждый раз перезагружать страничку. Если бы не существовало cookie, то каждое изменение настроек необходимо было бы сохранять в веб-сервере сайта, а это означает, что нужно было бы каждый раз перезагружать странички (чтобы данные отправлялись для сохранения). Куки же позволяют этого избежать.

5. Куки доступны из разных вкладок. Суть в том, что если вы открыли 2 или более вкладок одного сайта, то содержимое куки у них будет одним и тем же, даже если оно корректируется. Это позволяет производить взаимодействие между вкладками без перезагрузки страниц.

Основные минусы cookie:

1. Чужие компьютеры и прочие проблемы безопасности. Представьте, что вы пришли к знакомому, включили его компьютер и вошли в социальную сеть, установив галочку "запомнить". Это означает, что в его браузере была создана постоянная cookie для автоматического входа. Затем вы закрыли браузер, не выйдя из социальной сети, и пошли заниматься своими делами. Что случится в такой ситуации? Когда знакомый откроет эту социальную сеть, он автоматически войдет под вашей учетной записью. И это только лишь относительно безобидный пример.

2. Небольшой размер. В куках можно хранить не так уж много данных (лимиты крайне небольшие, цифры измеряются в единицах, десятках и сотнях килобайт), поэтому этот подход можно применить далеко не для всех задач. Справедливости ради, стоит отметить, что существуют такие технологии, как кэш и localStorage (некий аналог cookie, но позволяет хранить больше данных, как минимум, 5 Мб), но у них свои минусы и плюсы.

3. Хранятся в файлах на компьютере. Это означает, что, как и обычные файлы, их можно скопировать, удалить и прочее.

4. Пользователь может изменить куки. Возможность редактирования означает потенциальные проблемы. Абстрактный пример. Допустим, вы открыли сайт с игрушкой. Этот сайт сохраняет в cookie текущее количество набранных очков. Что мешает пользователю изменить это число и стать первым в рейтинге? Ничего. И это только лишь относительно безобидный пример.

5. Отслеживание действий пользователя. Подробнее об этом чуть далее.

 

Почему столько шумихи вокруг cookie?

Исходно, шумиха начала появляться из-за сторонних cookie (и некоторых хитрых технических подвидов). Конечно, с куками и до этого были проблемы, но они не вызывали столь большого отклика. В чем суть? Допустим, вы открыли сайт про котиков и в нем открылся рекламный блок другого сайта со случайным содержимым вида "самая лучшая хренорезка". Как вы уже знаете, в рамках этого в браузере была создана сторонняя cookie у рекламного сайта. Но, не только. Дело в том, что на сервере рекламного сайта так же было сохранено, что пользователь с этой cookie просматривал рекламу в сайте о котиках.

Далее вы открыли сайт о кулинарии и с удивлением обнаружили, что отобразился рекламный блок, но уже с текстом "самая лучшая когтеточка". Эта информация так же сохранилась на серверах рекламного сайта. Затем вы открыли сайт о компьютерах и увидели рекламу "борщ - великая еда". И так далее.

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

Примечание: Так же советую почитать обзор про ремаркетинг.

Теперь, вы знаете что такое cookie, а так же некоторые важные аспекты.

Социальные сети

☕ Понравился обзор? Поделитесь с друзьями!

Комментарии / отзывы  

0 # Fork 30.04.2019 23:03
Полезный текст. Так же поделюсь инфой где хранятся файлы:

1. Google Chrome
C:\Users\Пользователь\AppData\Local\Google\Chrome\User Data\Default (или Profile 1)\файл "Cookies" без расширения

2. Mozilla Firefox
C:\Users\Пользователь\AppData\Roaming\Mozilla\Firefox\Profiles\(тут буквы и цифры).Default User\ файл "cookies.sqlite"

3. Opera
C:\Users\Пользователь\AppData\Roaming\Opera Software\Opera Stable\файл "Cookies"

4. Яндекс Браузер
C:\Users\Пользователь\AppData\Local\Yandex\YandexB rowser\User Data\Default\ файл "Cookies"

5. Internet Explorer
в двух местах:
C:\Users\Пользователь\AppData\Local\Microsoft\Windows\INetCookies\
C:\Users\Пользователь\AppData\Roaming\Microsoft\Windows\Cookies\
Ответить | Ответить с цитатой | Цитировать | Сообщить модератору
Добавить комментарий / отзыв
Комментарий - это вежливое и наполненное смыслом сообщение (правила).



* Нажимая на кнопку "Отправить", Вы соглашаетесь с политикой конфиденциальности.
Социальные сети
Программы (Freeware, OpenSource...)