JavaScript·100 вопросов

Что такое cookie в JavaScript?

Ответ

Понятие cookie в языке программирования JavaScript представляет собой механизм, позволяющий веб-приложениям сохранять небольшие объемы текстовых данных прямо в браузере пользователя. Основным инструментом для работы с ними выступает специальное свойство document.cookie. Важно понимать, что документ document.cookie возвращает не массив или объект, а единую строку, содержащую все доступные куки текущего домена, разделенные точкой с запятой и пробелом, например, имя равно значению. Такой формат требует от разработчика самостоятельного парсинга строки при чтении конкретных параметров.

Для установки или изменения нового значения используется простая операция присваивания, где вы задаете строку формата document.cookie = 'name=value'. Однако на практике этого редко бывает достаточно, поэтому применяются дополнительные параметры атрибутов, которые задаются через точку с запятой. Атрибут expires задает конкретную дату удаления куки в формате UTC, а max-age определяет время жизни куки в секундах с момента создания, что часто бывает удобнее. Параметры path и domain определяют область видимости куки, ограничивая ее конкретным путем на сайте или определенным поддоменом.

Существуют и важные ограничения безопасности. Так, флаг HttpOnly делает куки недоступными из JavaScript, защищая их от кражи через XSS-атаки, поскольку такие куки могут передаваться только сервером в заголовках HTTP. Кроме того, накладывается жесткое техническое ограничение: размер одной куки вместе с именем и всеми атрибутами не может превышать 4 килобайта, а общее количество кук для одного домена также ограничено браузерами. Примером практического использования может служить сохранение выбранной пользователем темной темы оформления сайта, которая считывается при повторном визите, обеспечивая персонализированный и комфортный пользовательский опыт.

Полезен ли этот ответ?

Другие вопросы этой темы

Связанные вопросы из других тем