Web storage API: работа с Cookies в HTML5
Когда говорят HTML5, то обычно под этим словом понимают новые теги, например, <main>, <nav>, <header> и <footer>. Реже – рисование в <canvas> и проигрывание <video>. И чаще всего обходят стороной Web storage API.
Web storage API создано для замены морально устаревших cookies, и имеет ряд преимуществ над cookies.
Рассмотрим данное JavaScript API поближе
– Все Cookies хранятся в виде обычной текстовой строки в формате:
key1=value1; key2=value2;
А различные пары «ключ-значение» могут храниться в одной строке. И, да, чтобы достать какое-то значение, необходимо достать все значения и разделять их. Web storage тоже хранит значения в виде «key-value», но работать с ним гораздо проще.
– Cookies хранятся на стороне клиента и передаются на сервер при каждом запросе! Данные в Web storage относятся только к клиентской части и не передаются на сервер.
– Cookies имеют время жизни и долгоживущие Cookies не пропадут при закрытии окна браузера. Помимо этого нельзя никак привязать время жизни Сookies к закрытию окна, что необходимо для организации кэша. Web Storage состоит из двух частей – LocalStorage и SessionStorage. По своей сути они полностью идентичны, c той лишь разницей, что SessionStorage пропадёт после закрытия окна браузера.
– Cookies ограничены по размеру – всего 4 Кб. Этого не хватит для хранения даже маленького документа. Web storage имеет ограничение в 5 Мб, чего более чем достаточно для хранения документа и/или большого дерева метаданных.
А если ограничиться, например, движком WebKit, то работу с Web storage можно построить по принципам реляционных баз данных. Да, и писать полноценные SQL для работы с этой БД.
Есть вопрос? Напишите в комментариях!