Q1-> В чем преимущество SessionStorage/LocalStorage над Cookie?Преимущество SessionStorage над Cookie
Q2-> Значение, сохраненное на сайте xyz, может быть просмотрено или отредактировано любым другим сайтом или пользователем?
Q1-> В чем преимущество SessionStorage/LocalStorage над Cookie?Преимущество SessionStorage над Cookie
Q2-> Значение, сохраненное на сайте xyz, может быть просмотрено или отредактировано любым другим сайтом или пользователем?
1) Хранилище сеансов и локальное хранилище обеспечивают большую емкость (в настоящее время 5 МБ с большинством браузеров) и не отправляются обратно на сервер для каждого HTTP-запроса (HTML, изображения, JavaScript, CSS и т. Д.). количество трафика между клиентом и сервером (экономия $ дош).
2) Локальное/сеансовое хранение ограничено установкой домена/получением значений, поэтому, если вы используете localStorage.set('key', 'val')
на www.domain1.com, вы не можете получить доступ к этим данным, используя localStorage.get('key')
на www.domain2.com. Имейте в виду, что ограничение распространяется также на домены и поддомены - т. Е. Вы не можете получить доступ к локальному/сеансовому хранилищу www.domain1.com из sub.domain1.com.
Обновление от @ josh3736: однако пользователи имеют полный доступ к необработанному локальному и сеансовому хранилищу. Вот как пользователи в настоящее время могут разблокировать все уровни в веб-версии Angry Birds: http://wesbos.com/all-levels-html5-angry-birds/ - повторить Josh, никогда не доверять данным на уровне клиента.
Подробнее здесь: http://diveinto.html5doctor.com/storage.html
Еще одно преимущество использования Хранение сеансов его производительности при его использовании. Особенно для больших данных (100 кб и т. Д.). Простые куки должны быть частью каждого запроса на сервер. Таким образом, вы не получите эти сохраненные данные на сервере с помощью простых средств, но я могу освободить их.
Одна вещь, которую вы не указали: да, данные в локальном хранилище могут быть просмотрены или отредактированы пользователем. Например, в Chrome откройте «Инструменты разработчика» и перейдите на вкладку «Ресурсы». Там вы можете легко видеть и редактировать все, что имеет текущий домен, в локальном хранилище. (Как и все остальное в сети, ** никогда не доверяйте данным клиента **.) – josh3736
josh3736: «никогда не доверяйте данным клиента», не может быть подчеркнуто или повторяется достаточно много раз. – John
Есть ли способ проверить целостность данных на стороне клиента (практично, я полагаю, что всегда можно хранить вещи как одну строку и проверять это на хэш или подобное)? –