Как вы уже упоминали, файлы cookie являются опциями, как и веб-хранилище в спецификации HTML5. Также имеется возможность использовать Flash для хранения данных с дополнительным преимуществом, заключающимся в том, что эти данные сохраняются в нескольких браузерах на одном компьютере, но недостатком является необходимость использования запасного варианта для пользователей, у которых нет Flash.
Лично, хранение данных на сервере (идентифицируемое по идентификатору сеанса или cookie) было бы моим способом сделать это, у вас есть контроль над данными, и вам не нужно беспокоиться об их потере, когда пользователь очищает свой кэш. или переключает машины / устройства. Он также является наиболее отказоустойчивым, поскольку не использует функции браузера и / или плагины (кроме, возможно, файлов cookie).
Еще одна вещь, если вы ищете абстракцию хранилища данных на стороне клиента, которое использует все вышеперечисленное (куки, флеш, веб-хранилище), посмотрите Evercookie