Localstorage Vs Cookies - Производительность - PullRequest
6 голосов
/ 18 октября 2011

Поскольку файлы cookie находятся на стороне сервера, а Localstorage - на стороне клиента, что является самым быстрым для пользователя для извлечения? (ссылка Локальное хранилище против файлов cookie )

Я полагаю, если машина клиента работает медленно, тогда куки быстрее? Или это не делает никакой разницы?

Я использую как localalstorage, так и cookie для проекта, и оба они получены с помощью jQuery. Это означает, что jquery должен быть загружен, а затем данные извлекаются.

Как я могу сделать это быстрее? Я не знаю, как оба работают. Например, некоторые говорят, что cookie-файлы извлекаются, когда HTML-файл пытается загружаться раньше, чем файлы стиля и js, а другие говорят, что DOM готов.

Кто-нибудь знает точные сведения о , который быстрее для пользователя, чтобы получить ?

Спасибо

Ответы [ 3 ]

26 голосов
/ 18 октября 2011

Поскольку файлы cookie находятся на стороне сервера, а Localstorage - на стороне клиента, что является самым быстрым для пользователя для извлечения?

Вы начинаете с неверного предположения.Файлы cookie также хранятся на стороне клиента.Как localStorage, так и cookie-файлы хранятся на стороне клиента.

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

Я полагаю, если машина клиента работает медленно, тогда куки быстрее?Или это не делает различий [sic]?

Это такие легкие операции, я бы не беспокоился о скорости.

Производительность между этими двумя факторами не является фактором для выбора одного.Это то, что вам нужно.

Cookies:

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

localStorage:

  1. Это относительно новая концепция.Не все браузеры поддерживают это.Например, IE 6, 7, и вам не повезло.
  2. Недоступен со стороны сервера.Вы могли бы сделать обратный вызов AJAX на сервер с данными, которые хранятся в localStorage.
  3. Иметь рекомендацию W3C о возможности хранения 5 МБ.

Как я могу сделать это быстрее?

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

1 голос
/ 18 октября 2011

Как куки, так и LocalStorage хранятся локально на клиенте.Не должно быть заметной разницы в том, насколько быстро вы можете читать с них.

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

Если вы используете jQuery для чтения файлов cookie / LocalStorage, браузеру придется ждать загрузки сценария jQuery, если его нет вкеш браузера.

0 голосов
/ 18 октября 2011

Если меня не вводят в заблуждение, и cookie, и localStorage находятся на стороне клиента.

Я бы посмотрел на Как мне установить / удалить cookie с помощью jQuery?

И есть очень удобный плагин jQuery по адресу: http://plugins.jquery.com/project/Cookie - я использую это все время.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...