Какие плюсы и минусы cookie

Ответ

Плюсы:

  • Простота использования – работают через document.cookie
  • Поддержка во всех браузерах
  • Можно установить срок жизни (expires или max-age)
  • Автоматически отправляются с каждым запросом на сервер

Минусы:

  • Ограничение в ~4KB на домен
  • Уязвимы к XSS-атакам (если не HttpOnly)
  • Могут быть прочитаны/изменены через JavaScript
  • Отправляются с каждым запросом, увеличивая трафик

Пример работы:

// Установка
document.cookie = "username=John; max-age=3600; path=/";

// Чтение
console.log(document.cookie); // "username=John"

Ответ 18+ 🔞

Вот это ж надо, блядь, сидеть и про кукисы размусоливать! Ну ладно, хуй с ним, разберём эту древнюю хуйню, на которой пол-интернета до сих пор стоит, как на костылях.

Плюсы, блядь (их не так уж и много, если честно):

  • Простота, пиздец какая. Ткнул в document.cookie — и всё, поехали. Сделано для распиздяев, внатуре.
  • Везде работают. Даже в древнем IE, который уже сам по себе музейный экспонат, ёпта.
  • Срок годности есть. Можно сказать «живи, сука, час» (max-age) или «умри в такую-то дату» (expires).
  • Лезют сами, наглецы. Каждый раз, когда ты к серверу стучишься, они туда же прицепляются, без спросу.

Минусы (а вот их — овердохуища, и это главное):

  • Места мало, блядь! Всего-то ~4KB на весь домен. Как в коммуналке, внатуре. Хуй запихнёшь туда что-то серьёзное.
  • Уязвимы, как голый мужик на морозе. Если не надеть на них шляпу HttpOnly, то любой скрипт-шпиён их прочитает и украдёт (это XSS называется, если что).
  • Их все видят. JavaScript в браузере к ним доступ имеет, значит, любая левая библиотека может на них глаз положить.
  • Толстые и неповоротливые. Таскаются с каждым запросом, даже если не нужны. Трафик гоняют, как последние троллейбусы.

Ну и пример, чтобы было понятно, о чём речь. Смотри, как это выглядит, эта архаичная магия:

// Запихнули в кукис имя
document.cookie = "username=John; max-age=3600; path=/";

// А теперь читаем, что наваяли
console.log(document.cookie); // выдаст "username=John"

Вот и вся философия. Просто? Проще некуда. Надёжно? Да хуй там! Как сидеть на табуретке с одной ножкой. Для каких-то простых задач — сойдёт, но для всего серьёзного сейчас есть куда более крутые штуки, вроде localStorage или тех же httpOnly куков, которые от клиента спрятаны. А эти — классика жанра, «дедушка на пенсии», блядь.