вопрос дня:
Что такое cookie-файлы?
Что скрывается за словом cookie и почему браузер вас постоянно об этом спрашивает?
DMITRIJ IGOREVICH
full-stack разработчик, профессиональный программист C/C++&Qt,Linux,Windows,network&reverse engineer
Не столько печеньки, сколько небольшие записи, хранимые ограниченное время на стороне клиента в протоколе HTTP/s, переданные сервером (сайтом).
Изначально файлы cookie действительно использовались для таких рутинных и простых операций, как идентификация на сайте. Пользователю стоит только однажды ввести логин и пароль, и сервер «запоминает» его, высылая ему нужную cookie-запись, которая является парой ключ = значение. В следующий раз браузер будет отправлять эту запись cookie (ключ = значение) при запросах на сервер, так сервер может отличать разных посетителей на основе их предыдущих действий (не только ввод пароля ― куки могут хранить настройки пользователя, например регион/страну или выбранный язык). Конечно, все немного хитрее чем вам кажется ― ключом куки не является ваш логин, а пароль не передается в ее значении ― есть более безопасный механизм сессий на случай, если куки украдут.
Однако с течением времени появились более изощренные и менее очевидные способы использования кук. Например, они используются для того, что бы отслеживать (track) действия пользователя в пределах сайта, а еще позже ― отслеживать сайты, которые пользователь посещает. Это стало возможным благодаря развитию JavaScript и крупным платформам вроде Google Analytics (и Яндекс.Метрики) и сотням других чуть менее популярных сервисов, скриптов, приложений, устанавливаеых на сайт. Так, эти платформы умеют точно сопоставлять, что вы искали в интернете и что вы далее сделали, перейдя на сайт, на какой из нажатых ссылок в выдаче ваш сеанс был наиболее долгим, что используется в том числе для повышения релевантности ссылки по вашему запросу.
Вы можете посмотреть куки в вашем браузере, например в настройках содержимого в браузере Chrome (All cookies and site data). Вы увидите, что в основном, куки имеют бесполезные значения и почти бесполезные имена ключей, потому что вся магия делается наименее очевидной и выносится в back-end (на сервер), который получает куки при каждом обращении к хосту. Режим инкогнито (и другие аналоги «приватного» режима) основаны именно на том, что браузер создает новую временную базу данных (в которой нет старых кук), и забывает все новые куки, полученные в ходе сеанса (ну и историю не записывает).
В соглашении о приватности (privacy agreement) на различных сайтах вас предупреждают, что сайт использует cookies потому, что технически это позволяет получить исчерпывающую информацию о ваших действиях на этом сайте, хотя сам протокол HTTP анонимен.
Другие вопросы и ответы на сайте TheQuestion.
Подпишитесь на нас в социальных сетях