Мы все видели всплывающее окно: "example.com хочет знать ваше местоположение". Если вы нажмете «Разрешить», веб-сайт часто определит ваше точное местоположение в течение нескольких секунд. Но если вы используете ноутбук без чипа GPS, откуда он так точно узнает, где вы находитесь?
API геолокации HTML5
Современные веб-браузеры используют стандарт, называемый HTML5 Geolocation API. Этот API не определяет ваше местоположение самостоятельно; скорее, он действует как посланник. Он запрашивает операционную систему устройства (Windows, macOS, iOS, Android) выяснить, где оно находится, а затем передает эти координаты обратно на веб-сайт.
Как операционная система находит вас
Ваше устройство использует комбинацию методов для определения своего местоположения, известных как службы определения местоположения. Сначала он попробует наиболее точные методы и при необходимости вернется к менее точным:
- GPS. Если вы используете смартфон на открытом воздухе, устройство будет использовать встроенный GPS-чип для связи со спутниками. Это самый точный метод.
- Система позиционирования Wi-Fi (WPS): Если вы используете ноутбук, это наиболее распространенный метод. Ваш компьютер сканирует все близлежащие сети Wi-Fi (даже те, к которым вы не подключены). Он отправляет имена (SSID) и уровень сигнала этих сетей в базу данных (часто управляемую Google или Apple). Поскольку эти компании нанесли на карту расположение миллионов Wi-Fi-маршрутизаторов по всему миру, они могут триангулировать ваше положение с поразительной точностью — часто в пределах нескольких метров.
- Триангуляция вышек сотовой связи. На мобильных устройствах ОС может определять ваше местоположение на основе расстояния до ближайших вышек сотовой связи.
- IP-адрес. Если ничего не помогает, система вернется к использованию вашего IP-адреса для оценки вашего города или региона.
Последствия конфиденциальности
Поскольку геолокация браузера очень точна (благодаря сканированию Wi-Fi), браузеры никогда не передают эту информацию без вашего явного согласия. Если вы откажете в разрешении веб-сайту, API геолокации заблокирует запрос, и вместо этого сайту придется вернуться к оценке вашего местоположения через ваш IP-адрес.
