Атрибуты cookie
- HttpOnly — JavaScript не может прочитать cookie. Защита от XSS-кражи
- Secure — передаётся только по HTTPS
- SameSite=Lax/Strict — ограничение cross-site отправки. Защита от CSRF
- Expires / Max-Age — время жизни; без него cookie сессионная (удаляется при закрытии браузера)
- Domain / Path — к каким URL отправляется cookie
Cookie vs localStorage
localStorage больше (5–10 МБ vs 4 КБ), доступен только из JavaScript. Cookies отправляются серверу автоматически и могут быть HttpOnly (недоступны для JS). Для сессий и токенов безопаснее HttpOnly-cookies.