Назад к вопросам
Junior
79
questionbank

Может ли сервер изменять (добавлять, удалять) куки?

Sobes Copilot

Получайте ответы в реальном времени

Ответ от нейросети

sobes.tech AI

Да, может. Сервер управляет куками через HTTP-заголовки Set-Cookie в ответе клиенту.

Например:

Установка новой куки:

HTTP/1.1 200 OK
Set-Cookie: sessionid=abcde12345; HttpOnly; Secure; Path=/; Expires=Fri, 31 Dec 2021 23:59:59 GMT

// От сервера клиенту приходит заголовок Set-Cookie,
// который заставляет браузер создать или обновить куку с именем sessionid.

Изменение значения существующей куки:

Присылается новый заголовок Set-Cookie с тем же именем куки, но новым значением.

HTTP/1.1 200 OK
Set-Cookie: sessionid=vwxyz67890; HttpOnly; Secure; Path=/; Expires=Fri, 31 Dec 2021 23:59:59 GMT

// Браузер обновит значение куки sessionid.

Удаление куки:

Удаление происходит путем установки куки с тем же именем, но с истекшим сроком действия (Expires в прошлом) или установкой максимального возраста в ноль (Max-Age=0).

HTTP/1.1 200 OK
Set-Cookie: sessionid=; Expires=Thu, 01 Jan 1970 00:00:00 GMT; Path=/

// Браузер удалит куку sessionid, так как срок её действия истек.

Сервер не может напрямую "удалить" куку с клиентской машины, но он посылает инструкцию браузеру в виде заголовка Set-Cookie, который браузер обязан выполнить.