Ответ
HTTP cookies — это небольшие фрагменты данных, которые сервер отправляет браузеру пользователя для хранения и последующей автоматической пересылки обратно с каждым запросом к этому серверу.
Основные цели использования:
- Управление сессией: Идентификатор сессии для аутентификации пользователя.
- Персонализация: Сохранение предпочтений (язык, тема, настройки).
- Отслеживание: Сбор аналитических и рекламных данных.
Пример cookie в HTTP-ответе:
Set-Cookie: sessionId=abc123; Expires=Wed, 21 Oct 2025 07:28:00 GMT; Path=/; Secure; HttpOnly; SameSite=Strict
Работа с cookies в Java (Servlet API):
// Создание и отправка cookie клиенту
Cookie userCookie = new Cookie("username", "john_doe");
userCookie.setMaxAge(60 * 60 * 24); // Время жизни: 24 часа в секундах
userCookie.setHttpOnly(true); // Защита от доступа через JavaScript
userCookie.setSecure(true); // Передача только по HTTPS
response.addCookie(userCookie);
// Чтение cookies из запроса
Cookie[] cookies = request.getCookies();
Типы cookies:
- Сессионные: Удаляются при закрытии браузера.
- Постоянные: Хранятся до истечения срока (
Expires/Max-Age). - Secure: Передаются только по защищенному соединению HTTPS.
- HttpOnly: Недоступны для JavaScript (защита от XSS-атак).