Глоссарий
Local storage
Local storage это хранилище пар ключ и значение внутри браузера, привязанное к одному адресу и живущее без срока.
Место среди других хранилищ
Браузер держит на диске несколько хранилищ рядом, и один сайт умеет пользоваться всеми сразу за один заход. Ни одно из них не спрашивает у вас разрешения отдельно.
Печенье
Маленькие значения, уезжающие с каждым запросом на этот адрес, и у каждого свой срок.
Local storage
Текст под ключом, лежащий до тех пор, пока его не сотрут, и с запросом он не уезжает. Читает и пишет его только код с того же адреса.
Session storage
То же устройство, только опустошается при закрытии вкладки, которая его наполнила.
IndexedDB
Небольшая база для данных покрупнее, лежит рядом с остальными и живёт столько же.
Почему очистка кук его не трогает
Печенье чистится одной кнопкой, а данные сайтов другой, поэтому значение под ключом часто переживает банку рядом с собой.
Оттого это и удобное место для опознавателя. Вернувшийся браузер узнают без единой печеньки внутри. Поэтому одна кнопка очистки редко доводит дело до конца.
Ваш браузер прямо сейчас
Значение прочитано в вашем браузере на этой странице. Оно говорит, позволяет ли этот браузер сайту вообще что-либо у вас оставить.
Ваша машина прямо сейчас
- Браузер разрешает хранить
- измеряем на вашей машине
Прочитано в вашем браузере и показано здесь. Никуда не отправляется.
Один профиль одно хранилище
У каждого профиля своя область на этой машине, поэтому два профиля не делят между собой ничего. Разные профили не видят ни ключей друг друга, ни значений под ними.
Два аккаунта, открытые в одном профиле, делят в нём каждое хранилище. Это самая дешёвая связь, какая бывает у площадки, и чтение её не стоит сайту ничего.
Что уезжает и что стирается
Хранилище это часть того, что держит аккаунт залогиненным, поэтому оно попадает в файл переноса вместе с куками и сохранёнными входами. Кэши в файл не кладут, хранилища кладут.
- 1
Едет вместе с профилем
Файл переноса везёт хранилища и оставляет кэши лежать рядом.
- 2
Стирается вместе с профилем
Удаление профиля очищает его хранилища на обоих движках браузера. Вместе с ними уходят куки, история и сохранённые входы.
- 3
Окно закрывают первым
Данные стирают после того, как браузер закрылся, а не из-под него.
Часто путают с этим
Кэш
Кэш держит копии файлов, чтобы не качать их снова. Сам по себе он никого не опознаёт.
Печенье
Печенье уезжает вместе с запросом, и сервер видит его не спрашивая. Хранилище читает код, работающий на странице.
Отпечаток
Хранилище это то, что сайт у вас оставил. Отпечаток вычисляется из самой машины, и стирать там нечего.
Чего это не делает
- Это ничего не прячет. Значение, которое сайт записал, он же и прочитает, а отдельный профиль лишь держит это значение подальше от ваших остальных аккаунтов.
- Экрана для чтения и правки хранилищ сайта нет. Куки умеют уезжать отдельно, остальные хранилища едут только вместе со всем профилем. Отдельной кнопки «стереть местное хранилище» в программе тоже нет.
- Очистка не разрывает связь, которая уже возникла. У площадки своя запись о том, что было.
- Это не закрывает хранилище от сайта. Браузер, который не хранит ничего, встречается реже любого значения внутри и выдаёт себя сразу.
Проверить
Каждое утверждение выше это одно место в продукте и один стенд.
- Хранилища сайта попадают в файл переноса, а кэши нет
- apps/desktop/src/lib/bundle.js · apps/desktop/test/profile-bundle.js
- У каждого профиля своя область на этой машине
- apps/desktop/src/lib/profiles.js
- Браузер закрывают до стирания данных удалённого профиля
- apps/desktop/src/main/main.js · apps/desktop/test/delete-leaves-nothing.js
- Куки умеют уезжать отдельно, без всего остального
- apps/desktop/test/cookie-transfer.js
Вопросы
- Очистка кук чистит и это?
- Сама по себе обычно нет: в большинстве браузеров это две разные коробки. В профиле здесь и то и другое уходит разом вместе с удалением профиля.
- Может ли один сайт прочитать хранилище другого?
- Нет. У каждого адреса своя коробка, и браузер держит эти коробки врозь. Правило одно и то же во всех браузерах, и наш профиль его не смягчает.
- Хранилище это часть отпечатка?
- Нет. Отпечаток выводится из машины, а хранилище это то, что сайт туда положил. Сайт обычно читает и то и другое и складывает пару в одну картину.
- Сохранит ли перенос мой вход?
- Он везёт то, что держит браузер: куки, сохранённые входы и хранилища. Хватит ли этого, решает сайт и то, как аккаунт выглядел, когда вы его оставили.
- Где программа всё это держит?
- В своей папке на вашем компьютере, по области на профиль. Само оттуда никуда ничего не уходит. На сервер уезжают настройки профиля, а не содержимое его хранилищ.
Посмотрите, что разводит один профиль
Два профиля бесплатны и без карты. Откройте оба и посмотрите, как сайт принимает каждый за свою машину.