# Cookie в HTTP

Куки представляют собой небольшой текст, который сервер может сохранять в браузере пользователя. Сервер может установить несколько кук с разными именами.

С помощью кук сервер может идентифицировать пользователя и хранить данные каждого клиента между его запросами.

Куки передаются между клиентом и сервером с помощью HTTP заголовков (запомните, это важно). При каждом запросе браузера на сервер браузер будет отправлять все куки данного сайта на сервер.

С помощью заголовка `Cookie` клиент отправляет куки на сервер при каждом запросе:

`Cookie: name=john`

Если кука была установлена не одна, то клиент отправит их все в одном заголовке, разделив их точкой с запятой:

`Cookie: name=john;surn:smit`

С помощью заголовка `Set-Cookie` сервер может установить куку с нужным именем и значением:

`Set-Cookie: name=john`

Верно ли, что куки передаются через HTTP заголовки?

Где хранятся куки, на сервере или в браузере?

Каким заголовком сервер устанавливает куки?

Каким заголовком браузер отправляет куки на сервер?

Как часто браузер отправляет куки на сервер?

Откройте какой-нибудь сайт и изучите заголовки запроса и ответа. Поищите там заголовки, передающие куки.

В отладчике браузера на вкладке "Network" найдите ваш запрос. Нажмите на него. В появившихся подробностях запроса найдите вкладку "Cookies". Изучите ее.

В отладчике браузера на вкладке "Application" найдите вкладку "Cookies". Изучите куки, записанные в вашем браузере для данного сайта. Попробуйте изменить и удалить отдельные куки (осторожно, можно сломать авторизацию; убедитесь, что у вас есть пароль от этого сайта).

← →
↑