Недавно я заметил, что некоторые веб-сайты, которые я посещаю, способны обнаруживать устройства, которые я использую для просмотра веб-сайта, но я не уверен, как они могут это сделать.
Например, www.rdio.com, приложение для потоковой передачи музыки, предлагает два разных сервиса; один для мобильных устройств и один для ноутбуков и настольных компьютеров. Они берут 10 долларов в месяц за мобильные устройства и 5 долларов в месяц за настольные компьютеры и ноутбуки.
Очевидно, у них должен быть довольно хороший метод обнаружения устройства, отправляющего запросы, поскольку часть их бизнес-модели зависит от этого. Как rdio и другие компании достигают этого? Все, о чем я до сих пор думал, кажется довольно плохим. Например, если они зависят от переменных заголовка в HTTP-запросах, как они защищаются от спуфинга? Или, если они используют javascript на стороне клиента для изучения функций браузера, какие функции вы можете изучить, чтобы точно определить тип устройства? Вы смотрите на разрешение экрана, наличие гироскопа или что-то в этом роде, потому что что делать, если у меня есть мобильное устройство с разрешением в стиле ноутбука или ноутбук с гироскопом?
Какие функции HTTP-запросов или браузеров изучают веб-серверы, чтобы точно определить тип устройства?