Cookie, Session и LocalStorage — объяснение

Куки

Файлы cookie — это небольшие текстовые файлы, хранящиеся на стороне клиента. Все файлы cookie браузера имеют максимальный размер 4 КБ. Нам не нужна функция для запуска cookie. Файлы cookie хранят данные постоянной проверки пользователей на веб-сайтах. Мы можем включить или отключить файлы cookie на определенном сайте. Это помогает создавать простую и быструю информацию о веб-сайте. Файлы cookie с данными пользователя обеспечивают лучшую информацию о пользователе, доступ к веб-сайту и быстрый доступ.

Мы можем хранить не более 20 файлов cookie на одном сайте. Рекомендуется время от времени очищать файлы cookie для определенных проблем, таких как загрузка или форматирование сайтов.

Когда браузер отправляет запрос веб-серверу в следующий раз, он отправляет на сервер информацию о файлах cookie, которые сервер использует для идентификации пользователя.

Существует много типов файлов cookie:

  • Сеансовый файл cookie
  • Постоянные файлы cookie
  • Сторонние файлы cookie

Сеансовый файл cookie

Сеансовый файл cookie — это файл cookie для конкретного сервера, который не может быть передан ни на какой другой компьютер, кроме лица, сгенерировавшего файл cookie. Сеансовый файл cookie не имеет срока действия. Файлы cookie времени хранятся в памяти и никогда не записываются на диск. Если браузер закроется, файл cookie будет безвозвратно удален.

Постоянные файлы cookie

Постоянные файлы cookie также известны как постоянные файлы cookie. Постоянные файлы cookie удаляются после блокировки браузера только тогда, когда Пользователь устанавливает дату истечения срока действия файлов cookie.

Оставайтесь активными, даже когда веб-браузер закрыт.

Сторонние файлы cookie

Сторонние файлы cookie устанавливаются сторонними компаниями для сбора определенных типов информации от веб-пользователей в исследовательских целях, например, о поведении, демографических данных или методах сноса. Они часто используются рекламодателями для показа наиболее релевантной рекламы между веб-сайтами, нацеленными на нужную аудиторию.

Пример:

var cookieName = 'test1'; var cookieValue = '1'; var myDate = new Date(); myDate.setDate(myDate.getDate() +30); document.cookie = cookieName + "=" + cookieValue + ";expires=" +myDate;

Сессия

Сессия некоторое время хранит информацию о пользователе на стороне сервера. Ограничения на хранение сеансов нет. Сеансы используются для передачи значений с одной страницы на другую. Сеанс иногда зависит от Cookie. Серверное время в основном используется в более крупных веб-приложениях, которые требуют хранения большого количества пользовательских данных. Каждому сеансу назначается уникальный идентификатор, который используется для извлечения сохраненных значений. Всякий раз, когда создается время, файл cookie, содержащий уникальный идентификатор сеанса, сохраняется на компьютере пользователя и возвращается со всеми запросами на сервер.

Каждый сеанс уникален для каждого пользователя, и количество сеансов, которые можно использовать в одном приложении, не ограничено.

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

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

Локальное хранилище

Это связано с тем, что LocalStorage имеет много преимуществ перед файлами cookie. Одно очень важное отличие заключается в том, что, в отличие от файлов cookie, данные не нужно пересылать при каждом HTTP-запросе. Это снижает перегрузку между клиентом и сервером и снижает потери полосы пропускания. Это связано с тем, что данные хранятся на локальном диске пользователя и не уничтожаются и не стираются при потере подключения к Интернету. Кроме того, как упоминалось ранее, LocalStorage может обрабатывать до 5 МБ данных. Это намного больше, чем файлы cookie размером 4 КБ, которые он содержит.

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

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

Пример:

localStorage.setItem('Name','Abc'); alert(localStorage.getItem('Name'));

Куки против сеанса против локального хранилища

Файлы cookie

  • Существует несколько дат истечения срока действия (как сервер, так и клиент могут установить дату истечения срока действия)
  • Клиент не может получить доступ к файлам cookie, если для флага HttpOnly установлено значение true.
  • Имеет поддержку SSL.
  • Каждый HTTP-запрос отправляет данные на сервер.
  • Максимальный размер файла составляет 4 КБ.

Локальное хранилище

  • Не имеет срока годности.
  • Только клиент.
  • нет поддержки SSL.
  • Данные не передаются при каждом HTTP-запросе.
  • Ограничение 5 МБ (5 мегабайт).

Хранилище сеансов

  • Если мы закроем браузер или закроем вкладку, данные сеанса будут удалены автоматически.
  • Только клиент.
  • Нет поддержки SSL.
  • Данные не передаются при каждом HTTP-запросе.
  • Ограничение 5–10 МБ (мегабайт).
  • Это синхронно.

В Bigscal Technologie вы можете Нанять Frontend-разработчиков и сэкономить до 60% затрат и времени без платы за найм.

Эта статья была впервые опубликована @ Vaishali Sagathiya здесь.

Продолжайте читать, чтобы узнать больше интересных статей, нажав здесь.