Ответ
HTTP cookie (куки) — это небольшой фрагмент данных, отправляемый веб-сервером и хранимый на стороне клиента (в браузере). Браузер автоматически отправляет эти данные обратно серверу с каждым последующим запросом к тому же домену, обеспечивая сохранение состояния (stateful) поверх stateless-протокола HTTP.
Механизм работы:
- Сервер включает в HTTP-ответ заголовок
Set-Cookie. - Браузер сохраняет эту пару «ключ-значение» локально.
- При следующих запросах к тому же домену браузер автоматически добавляет заголовок
Cookieс сохраненными данными.
Основные типы:
- Сессионные (Session cookies): Существуют только во время сессии браузера, удаляются после его закрытия. Не имеют срока истечения (
ExpiresилиMax-Age). - Постоянные (Persistent cookies): Имеют установленный срок жизни (
ExpiresилиMax-Age) и хранятся на диске до истечения этого срока.
Пример работы с куками в Selenium WebDriver (Python):
from selenium import webdriver
driver = webdriver.Chrome()
driver.get("https://example.com")
# Добавить новую куку
driver.add_cookie({
"name": "session_token",
"value": "abc123xyz",
"domain": "example.com"
})
# Получить все куки для текущего домена
all_cookies = driver.get_cookies()
print(all_cookies)
# Получить значение конкретной куки
value = driver.get_cookie("session_token")["value"]
# Удалить куку
driver.delete_cookie("session_token")
# Удалить все куки
driver.delete_all_cookies()
Назначение: аутентификация сессий, хранение пользовательских предпочтений, отслеживание поведения (аналитика).