Cookie JavaScript

Cookie JavaScript

5
(2)

author: PicPoint

Доброго времени суток тебе user! Сегодня я расскажу тебе о cookie.

Попробуем разобраться!

Расскажу для программистов в общем. Т.к. нам нужно общее понимание что это.

Рассмотрим ситуацию, когда вы разраб на js и пишете свой инет магазин.

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

кука имеет параметры:

name - имя данной куки

value - значение данной куки

secure – параметр обозначает безопасность куки

expires – какое время жизни будет иметь кука

path - путь

options - параметр определяющий объект с дополнительными опциями

domain – домен для данной куки

Как узнать какие куки установлены у Вас на компьютере?

alert(document.cookie);

Если надписи нет или она пустая, значит куки отключены браузером, тогда можем проверить включены ли куки или нет

 if (!navigator.cookieEnabled) {
        console.log("Для комфортной работы с сайтом, - включите Cookie");
 }

И так пишем код.

Первым делом мы должны поставить куку. Делается это командой:

document.cookie = "name=value";

Но этим мы не ограничимся, мы так же должны передать ещё параметры.

Давайте добавим время жизни куки.

var dt = new Date(60 * 60);
document.cookie = "name=; expires=" + dt + ";";

куку указали на 1 час - 60сек * 60мин.

Если не поставить куку, она считается сессионной, т.е. работает на время сессии вашего браузера и сервера. Закройте браузер и кука удалиться сама. Сервер Вас не запомнит.

Чтобы удалить куку, нужно поставить время жизни куки в прошлом и поставить значение куки пустое

var dt = new Date(-1);
document.cookie = "name=; expires=" + dt + ";";

Параметр path – путь по которому кука доступна, но если он не указан, система считает по умолчанию путь текущим.

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

secure - тут есть особенность, куки передаются только по защищенному протоколу https

Итого получается так!

var dt = new Date(60 * 60);
document.cookie = "MyCookie=zgdfdf45df1df2gbfd5gb4; expires=" + dt + ";";

Немного технической литературы для Вас.

Вообщем протоколы http/https это протоколы без сохранения состояния.

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

Окунёмся немного в прошлое.

Cookie JavaScript

Эээээ …… не на столько, чуть пораньше!

Вообщем была такая компания Netscape

Для многих олдскулов она была известна по своему продукту Netscape Navigator, интернет браузеру.

Cookie JavaScript

Как сейчас помню, хороший был браузер! Пользовался я им с удовольствием!

Вообщем сотрудник компании, Лу Монтулли в 1994 году придумал такую вещь как cookie, aka куки, aka кукисы, aka печеньки.

Может потому что любил печеньки, тут я даже не удивлюсь, может ещё по какой то причине.

Cookie JavaScript

Суть сводилась к той проблеме, которую описали выше. Нужно было запоминать кто пришёл и когда.

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

Так вот сервер посылает команду на создание кук, браузер создаёт куку.

С новым запросом от браузера к серверу, браузер говорит серверу - “КУКА СОЗДАНА”. И дальше при каждом запросе от сервера к браузеру и от браузера к серверу, они знают о друг друге и на этом строится механизм.

Для чего вообщем это нужно? Вы заходите на почту/сайт/в любой свой ЛК, ставите галочку “запомнить меня” и при каждом открытии страницы вы не набираете логин и пароль заново, сервер Вас помнит и знает о Вас, показывает Ваш ЛК, список писем, заказов товара на сайте или ещё чего то.

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

Куки одного браузера изолированы от кук другого браузера. Сама кука маленькая, у неё есть ограничение на объем и он составляет 4Kb

Опять же количество кук одного сайта не должно превышать около 50шт. Тут зависит опять же от браузера, может 30, может 40, может 50.

Очистив куки, вы сотрёте инфу о себе и сервер Вас уже не узнает, вы не зайдёте в свой ЛК, только через повторную авторизацию.

Cookie JavaScript

Надеюсь Вам стало ясно что такое куки и как с ними работать!

Приятного аппетита!

Cookie JavaScript

author: PicPoint

Поделиться ссылкой:

Насколько был полезен этот пост?

Кликни что бы проголосовать

Средний рейтинг 5 / 5. Всего голосов 2

Пока нет голосов, будьте первым кто оценит этот пост.

Ответ на пост: “Cookie JavaScript”

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *