Файлы cookie ограничены по максимальной длине, и они используют реализацию вне вашего контроля (в конце концов, они являются функцией браузера вашего посетителя). Лично мне не нравится полагаться на неизвестные сторонние реализации, над которыми я не имею никакого контроля, и, если мне нужно, я пытаюсь использовать это самым простым способом.
Итак, откуда я пришел, я всегда сохранял пользовательские данные на сервере и просто передавал cookie, указывающий на эту информацию.
Помимо того, что браузеру не доверяют потенциально большой кусок данных (который может быть потерян, неправильно сохранен или вообще не сохранен в зависимости не только от браузера, но также, скажем, от какого-либо антивирусного приложения или чего-либо еще), это имеет различные другие преимущества:
- Вы скрываете свою реализацию от пользователя: если вы сохраняете данные в файле cookie, они видны всем и могут быть проанализированы или изменены по желанию. Это может даже привести к тому, что пользователи изменят файлы cookie по своему вкусу и, следовательно, заставят вас хранить вещи, от которых вы, вероятно, захотите избавиться, просто потому, что некоторые пользователи в любой момент зависят от вашей конкретной реализации.
- Поскольку файлы cookie хранятся в виде обычного текста, на общих компьютерах все больше не могут легко просматривать все настройки, сделанные предыдущим пользователем, или изменять их по своему желанию.
Но самым важным моментом остается отсоединение от не совсем работающих реализаций браузера (просто хранение небольших токенов является распространенным, проверенным вариантом использования)