2011-05-12 4 views
5

Q1-> В чем преимущество SessionStorage/LocalStorage над Cookie?Преимущество SessionStorage над Cookie

Q2-> Значение, сохраненное на сайте xyz, может быть просмотрено или отредактировано любым другим сайтом или пользователем?

ответ

8

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

+7

Одна вещь, которую вы не указали: да, данные в локальном хранилище могут быть просмотрены или отредактированы пользователем. Например, в Chrome откройте «Инструменты разработчика» и перейдите на вкладку «Ресурсы». Там вы можете легко видеть и редактировать все, что имеет текущий домен, в локальном хранилище. (Как и все остальное в сети, ** никогда не доверяйте данным клиента **.) – josh3736

+3

josh3736: «никогда не доверяйте данным клиента», не может быть подчеркнуто или повторяется достаточно много раз. – John

+0

Есть ли способ проверить целостность данных на стороне клиента (практично, я полагаю, что всегда можно хранить вещи как одну строку и проверять это на хэш или подобное)? –

1

Еще одно преимущество использования Хранение сеансов его производительности при его использовании. Особенно для больших данных (100 кб и т. Д.). Простые куки должны быть частью каждого запроса на сервер. Таким образом, вы не получите эти сохраненные данные на сервере с помощью простых средств, но я могу освободить их.

Смежные вопросы