Разница между локальным хранилищем, хранилищем сеанса и файлами cookie

Локальное хранилище Изучение

Протокол HTTP — один из наиболее важных протоколов для бесперебойной связи между сервером и клиентом. Основным недостатком протокола HTTP является протокол без сохранения состояния, что означает, что он не отслеживает какую-либо информацию об ответах и ​​запросах со стороны сервера и клиента. Поэтому для решения этой проблемы существует три способа отслеживания полезной информации. В этой статье мы увидим разницу между локальным хранилищем, сеансовым хранилищем и файлами cookie и почему веб-разработчику важно знать эти термины.

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

Локальное хранилище: это свойство интерфейса, доступное только для чтения, обеспечивает доступ к объекту локального хранилища документа, сохраненные данные хранятся в сеансах браузера. Подобно sessionStorage, за исключением того, что данные localStorage очищаются при завершении сеанса страницы, то есть при закрытии страницы. Он очищается при закрытии последней «частной» вкладки браузера (данные localStorage для документа, загруженного в режиме частного просмотра или сеанса инкогнито).

Строки DOMStrings — это форматы хранения, в которых для кодирования данных используется UTF-16, в котором для каждого символа используется два байта. Строки автоматически генерируются из целочисленных ключей, как и для объектов. Данные, хранящиеся в LocalStorage, относятся к протоколу в документе. Если сайт загружается по протоколу HTTP (например, http://example.com), localStorage возвращает другой объект, чем если он загружается по протоколу HTTPS (например, https://abc.com).

Если документ загружается из URL-адреса file: (то есть непосредственно из локальной файловой системы пользователя, а не загружается с сервера), требования к поведению не определены и могут различаться в разных браузерах. Кажется, что для каждого файла во всех текущих браузерах localStorage возвращает отдельный объект: URL. По сути, это похоже на случай, когда каждый URL: файл имеет свою собственную уникальную локальную область хранения.

Такое поведение не может быть гарантировано, поскольку, как упоминалось выше, требования к файлу file: URL остаются неясными. Таким образом, существует вероятность того, что браузеры могут изменить способ обработки файлов в любое время. То, как некоторые браузеры обрабатывают это, изменилось.

Локальное хранилище имеет 4 метода:

  • Метод setItem () -этот метод принимает два параметра, один из которых является ключевым, а другой — значением. Он используется для хранения значения в определенном месте с именем ключа.
Читайте также:  6 обязательных элементов дизайна электронной коммерции

localStorage.setItem (ключ, значение)

  • Метод getIteam () -этот метод принимает один параметр, который является ключом, который используется для получения значения, сохраненного с определенным именем ключа.

localStorage.getItem (ключ)

  • Метод removeItem () -этот метод используется для удаления значения, хранящегося в памяти по отношению к ключу.

localStorage.removeItem (ключ)

  • Метод clear () -этот метод используется для очистки всех значений, хранящихся в localstorage.

localStorage.clear ()

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

Что такое хранилище сеансов?

Доступ к объектам Session Storage можно получить с помощью свойства sessionStorage, доступного только для чтения. Разница между sessionStorage и localStorage заключается в том, что срок хранения данных localStorage не истекает, тогда как данные sessionStorage очищаются при завершении сеанса страницы.

Уникальный сеанс страницы создается после загрузки документа во вкладке браузера. Сеансы страниц действительны только для одной вкладки за раз. Страницы сохраняются только в течение того времени, пока открыта вкладка или браузер; они не сохраняются после перезагрузки и восстановления страницы. Новый сеанс создается каждый раз при открытии вкладки или окна; это отличается от файлов cookie сеанса. Каждая вкладка / окно, открытое с одним и тем же URL-адресом, создает свое собственное хранилище сеансов. Когда вы дублируете вкладку, хранилище сеансов из исходной вкладки копируется в дублированную вкладку. Закрытие окна / вкладки завершает сеанс и очищает объекты sessionStorage.

Протокол страницы определяет, какие данные хранятся в sessionStorage. В частности, данные, хранимые скриптами, доступ к которым осуществляется через HTTP (например, http://abc.com), хранятся в отдельном объекте с того же сайта, доступ к которому осуществляется через HTTPS (например, https://abc.com). Номер DOMString — это два байта на символ в формате DOMString UTF-16. Строки автоматически генерируются из целочисленных ключей, как и для объектов.

Сессионное хранилище имеет 4 метода:

  • Метод setItem () -этот метод принимает два параметра, один из которых является ключевым, а другой — значением. Он используется для хранения значения в определенном месте с именем ключа.

sessionStorage.setItem (ключ, значение)

  • Метод getIteam () -этот метод принимает один параметр, который является ключом, который используется для получения значения, сохраненного с определенным именем ключа.

sessionStorage.getItem (ключ)

  • Метод removeItem () -этот метод используется для удаления значения, хранящегося в памяти по отношению к ключу.

sessionStorage.removeItem (ключ)

  • Метод clear () -этот метод используется для очистки всех значений, хранящихся в хранилище сеанса.

sessionStorage.clear ()

Что такое хранилище сеансов

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

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

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

Разница между Local Storage, Session Storage, и печенье

Локальное хранилище  Сессионное хранилище  Cookies
Емкость локального хранилища составляет 5 МБ / 10 МБ. Объём хранилища сеансов составляет 5 МБ. Емкость файлов cookie составляет 4 КБ.
Поскольку он не основан на сеансе, его необходимо удалить с помощью javascript или вручную. Он основан на сеансах и работает для каждого окна или вкладки. Это означает, что данные хранятся только на время сеанса, то есть до закрытия браузера (или вкладки). Срок действия файлов cookie истекает в зависимости от настроек и работы для каждой вкладки и окна.
Клиент может читать только локальное хранилище Клиент может читать только локальное хранилище И клиенты, и серверы могут читать и записывать файлы cookie.
Нет передачи данных на сервер Нет передачи данных на сервер Передача данных на сервер существует
Меньше старых браузеров, которые его поддерживают Меньше старых браузеров, которые его поддерживают Поддерживается всеми браузерами, включая старые версии.
Оцените статью
bestprogrammer.ru
Добавить комментарий