### Первичные файлы cookie

Первичные файлы cookie устанавливаются тем веб-сайтом, который указан в строке URL.

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

Как и со всем остальным в интернете, умные люди выяснили все способы злоупотребления cookie, чтобы делать то, что пользователи не одобрят, если узнают что именно происходит. Например, веб-сайт может установить файл cookie на устройстве с уникальным номером. Затем каждый раз, когда пользователь посещает веб-сайт с этого устройства, он может быть связан с уникальным профилем, который сервер хранит для этого номера, даже если устройство подключается с разных IP-адресов.

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

Если первичные файлы cookie включены, но JavaScript отключен, значок конфиденциальности будет желтым как предупреждение.

### Сторонние файлы cookie

Сторонние файлы cookie устанавливаются частями веб-сайта, которые загружаются с серверов, отличных от указанного в строке URL. Например, большинство веб-сайтов, на которых есть реклама, загружают их со стороннего рекламного брокера, например, Google AdSense. Каждый раз, когда сайт загружается, он запрашивает у рекламного брокера рекламу. Рекламный брокер анализирует любую информацию, которую они могут иметь о пользователе, просматривает текущую ставку, которую рекламодатели готовы заплатить за свою рекламу, и выбирает ту, которая будет отображаться. Раздел веб-сайта, на котором отображается реклама, загружается с сервера рекламного брокера, а не с основного сервера.

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

В дополнение к рекламным брокерам сайты социальных сетей обнаружили, что тоже могли бы принять участие в этом. Несколько лет назад основные социальные сети, такие как Facebook и Twitter, убедили владельцев большого количества веб-сайтов в том, что им было бы интересно разместить небольшие значки социальных сетей на своих страницах. Это не просто изображения. Они содержат встроенный код, который ссылается на сайт в социальных сетях и, среди прочего, загружает сторонний файл cookie на устройство. Эти файлы cookie размещаются, даже если у пользователя нет учетной записи на платформе социальных сетей. Со временем такие компании, как Facebook (который также запустил рекламную сеть), создали довольно большое количество подробных профилей о людях, у которых даже не было аккаунта на сайте социальной сети.

Нет ни одной веской причины когда-либо разрешать сторонние файлы cookie. На устройствах с Android KitKat или старше (версия <= 4.4.4 или API <= 20), WebView не различает первичные и сторонние файлы cookie. Таким образом, включение первичных файлов cookie также разрешит и сторонние.

### DOM-хранилище

Хранилище объектной модели документа (Document Object Model), также известное как веб-хранилище, похоже на cookie (печенье) на стероидах. Если максимальный общий размер хранилища для всех файлов cookie с одного URL-адреса составляет 4 килобайта, то DOM-хранилище вмещает в себя мегабайты на сайт. Поскольку DOM-хранилище использует JavaScript для чтения и записи данных, включение его ни на что не влияет пока отключен JavaScript.

### Данные формы

Данные формы содержат информацию, введенную в веб-формы, например имена пользователей, адреса, номера телефонов и т.д., и доступную в раскрывающемся списке при будущих посещениях. В отличие от других форм локального хранилища данные формы не отправляются на веб-сервер без специального взаимодействия с пользователем. Начиная с Android Oreo (8.0), данные формы WebView были заменены на службу автозаполнения. Таким образом, элементы управления данными формы больше не отображаются на новых устройствах Android.