Cookies

Cookies

Cookies — это небольшой фрагмент данных, отправленный веб-сервером и хранимый на компьютере пользователя. Веб-клиент (обычно веб-браузер) всякий раз при попытке открыть страницу соответствующего сайта пересылает этот фрагмент данных веб-серверу в составе HTTP-запроса.

Cookies применяется для сохранения данных на стороне пользователя. На практике обычно используется для:

  • аутентификации пользователя;
  • хранения персональных предпочтений и настроек пользователя;
  • отслеживания состояния сеанса доступа пользователя;
  • ведения статистики о пользователях.

Зачем чистить cookies?

Существуют и неприятные моменты, которые могут возникнуть из-за cookie, например:

  • Воспользовавшись вашим компьютером, посторонний человек может посещать форумы и сайты под вашим именем
  • Большое количество сохраняемых куки ведет к замусориванию компьютера и сокращению места на жестком диске
  • Пользуясь куки, можно проследить историю ваших перемещений в сети, что нежелательно с точки зрения конфиденциальности
  • В связи с тем, что куки содержат персональные данные пользователя, у многих возникает желание отключить их совсем, то есть запретить браузеру сохранять куки. Все распространенные браузеры предусматривают такой режим работы. Но в этом случае, мы лишаемся возможности посещать многие сайты, требующие включенных куки.

С момента своего появления куки вызывали обеспокоенность пользователей Интернета, поскольку слежение за действиями и предпочтениями пользователей может подвергнуть опасности тайну личной жизни. Как результат, в Европейском союзе, Соединённых Штатах, и в других странах были приняты соответствующие законы, регулирующие применение куки.

Куки легко перехватить и подменить (например, для получения доступа к учетной записи), если пользователь использует нешифрованное соединение с сервером. В группе риска пользователи, выходящие в интернет при помощи публичных точек доступа Wi-Fi и не использующие при этом таких механизмов как SSL.

Шифрование позволяет также решить и другие проблемы, связанные с безопасностью передаваемых данных. Имеется и ряд заблуждений о куки. Они главным образом основаны на уверенности людей, что куки являются компьютерными программами.

На самом деле, куки — это простые текстовые данные, набор символов, передаваемый при запросах к веб-сайту, и они не могут выполнять какие-либо действия самостоятельно. В частности, куки не могут быть ни вирусами, ни шпионскими программами.

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

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

Запрашивая страницу, браузер отправляет веб-серверу короткий текст с HTTP-запросом. Например, для доступа к странице http://www.example.org/index.html, браузер отправляет на сервер www.example.org следующий запрос:


    GET /index.html HTTP/1.1
    Host: www.example.org

 браузер 	→   	сервер

Сервер отвечает, отправляя запрашиваемую страницу вместе с текстом, содержащим HTTP-ответ. Там может содержаться указание браузеру сохранить куки:


    HTTP/1.1 200 OK
    Content-type: text/html
    Set-Cookie: name=value
 
    (содержимое страницы)

 браузер 	→   	сервер

Строка Set-cookie отправляется лишь тогда, когда сервер желает, чтобы браузер сохранил куки. В этом случае, если куки поддерживаются браузером и их приём включён, браузер запоминает строку name=value (имя = значение) и отправляет её обратно серверу с каждым последующим запросом. Например, при запросе следующей страницы http://www.example.org/spec.html браузер пошлёт серверу www.example.org следующий запрос:

    GET /spec.html HTTP/1.1
    Host: www.example.org
    Cookie: name=value
    Accept: */*

 браузер 	→   	сервер

Условия истечения срока хранения

Срок хранения куки истекает в следующих случаях:

  • В конце сеанса (например, когда браузер закрывается), если куки не являются постоянными.
  • Дата истечения была указана, и срок хранения вышел.
  • Браузер удалил куки по запросу пользователя.