Обратите внимание, что новости можно получать по RSS.
X
-

Информационные технологии, LiveJournal cr_it - архив

5 ноября 2008, 18:05 (3638 дней назад, №8743)Определение характеристик мобильных устройств [браузером].

"UAProf" - Wapforum реализация W3C стандарта "CC/PP". Иногда употребляются как синонимы.

Предназначение CC/PP, UAProf - предоставить серверу (а также прокси и гейту) информацию о технических возможностях мобильного устройства (телефона)  пользователя и о его, пользователя предпочтениях (например, на каком языке он предпочитает видеть контент, включён ли у него звук и т.п.).
 

Информация об устройстве и его установках передаётся в X_WAP_PROFILE (http header "x-wap-profile" или "profile" ) либо в виде ссылки на .xml/rdf лежащий на сайте производителя телефона, либо в виде самого .xml (реже, т.к. он большой). Возможны смешанные варианты, когда внутри xml отдельные блоки представлены ссылками.
К примеру, общий профайл телефона может содержать ссылки на блоки относящиеся к Software (и хранящиеся на сайте symbian.com), Hardware (на сайте nokia.com) и UserPreferences (прямым XML'ем, в профайле).

Этот подход позволяют обеспечить эффективное кэширование и минимизировать трафик между устройством и гейтом.

Поскольку реальные устройства по установкам отличаются от исходных заводских (например, может быть увеличена память или в данный момент быть выключен звук) отличия передаются отдельно, в X_WAP_PROFILE_DIFF (http header "x-wap-profile-diff" или "profile-diff") хотя, по стандарту они вполне могут быть включены внутрь X_WAP_PROFILE.
С точки зрения обмена между устройством и гейтом, при выключении звука на устройстве, гейту посылается только информация об этом факте, после чего гейтом вносится изменение в хранящийся в кэше профайл. С точки зрения же сервера, гейт выдаёт полную информацию (кэш+изменения присланные ему устройством). Данный факт отражается в X_WAP_PROFILE_WARNING соответствующим кодом.

Вся передаваемая через CC/PP информация относится исключительно к текущей HTTP сессии.

Важно, что прокси/гейты могут менять передаваемый профайл, дополняя его новыми разделами (например, для учёта ограничений накладываемых данной сотовой сетью) или заменяя ссылки на блоки их реальным содержимым. Причём, если достать содержимое по ссылке не удалось, прокси/гейт может послать обратный запрос устройству с целью получить полный профайл (не содержащий ссылок).

Свойства (capabilities) устройств стандартизированы, их словарь содержится в XML Scheme,  на который ссылается профайл (например: http://www.wapforum.org/profiles/UAPROF/ccppschema-20020710 ). Однако, некоторые производители могут добавлять свои свойства, в этом списке отсутствующие или использовать разные словари. Так что, одно и то же свойство потенциально может быть обозначено по-разному. Кроме того, есть жалобы на недоступность профайлов на сайтах производителей и на ошибки в них.

Кстати, существует возможность устраивать DOS атаки, указывая в профайле вместо ссылок на блоки, ссылки на атакуемую систему.

По данным на 2007 год CC/PP профайлы передают примерно 70% устройств.

Встречаются сайты, где люди собирают базы данных по устройствам, преимущественно на основе UAProf, но кто во что горазд в смысле форматов и условий доступа. К примеру:
http://wurfl.sourceforge.net
http://www.mobilemultimedia.be/en/uaprof/parser.php
http://www.detectright.com/page/index
http://devices.pdata.ru/
http://deviceatlas.com/devices

Итак, с практической точки зрения (реализация WAP сайтов, учитывающих возможности девайса) существуют два разных подхода:

1.Принимаем CC/PP профайл, на лету распарсиваем и решаем, что и как отдавать.

Недостатки:
- Запрос на получение блоков профайла по ссылкам может отнимать очень ощутимое время.
- Не все телефоны присылают CC/PP профайл. Некоторые присылают его не вполне корректно.

Так что, первый вариант представляется неразумным.

2.Принимаем USER_AGENT, содержащий название телефона. На его основе лезем в базу (расположенную у нас), из которой достаём нужную информацию о его возможностях. Если данный телефон передал еще и CC/PP данные, _при_необходимости_  достаём из них то, что относится к настройкам телефона и используем совместно с данными из нашей базы.

Если исходить из варианта (2) то можно идти как минимум двумя путями:

а) Сформировать эту базу самим, путём сбора статистики HTTP заголовков с какого-нибудь нашего посещаемого WAP сайта.

б) Использовать существующую базу WURFL, бесплатную и свободную в т.ч. и для коммерческого использования (содержит около 5000 устройств, обновляется, по одному из исследований покрывает порядка 75% устройств. UAProf - 70%).

Полезные ссылки:

http://www.w3.org/Mobile/CCPP/ - (официальная страница CC/PP)
http://www.w3.org/TR/NOTE-CCPP/ (общее описание CC/PP)
http://www.w3.org/TR/NOTE-CCPPexchange (передача CC/PP данных поверх HTTP)
http://www.w3.org/TR/CCPP-struct-vocab/ (общее описание CC/PP)
http://www.wapforum.org/profiles/UAPROF/ccppschema-20020710 (пример списка возможностей устройств по CC/PP)
http://delicon.sourceforge.net/profiles.html (список UAProf профайлов устройств. 500 шт.)
http://www.w3.org/TR/REC-rdf-syntax/ (RDF)
http://en.wikipedia.org/wiki/UAProf
http://developer.openwave.com/dvl/tools_and_sdk/wurfl_and_wall/intro_wurfl.htm (популярное описание WURFL)
http://www.wapforum.org/what/technical/SPEC-UAProf-19991110.pdf - стандарт UAProf (не самая свежая версия)
http://delicon.sourceforge.net/ (DELI API and validator for UAProf and CC/PP. Java.)
http://www.detectright.com/docs/DetectRight_Compared.pdf (сравнительная таблица особенностей WURLF, UAProf, DetectRight, Browsercaps)
http://developer.openwave.com/dvl/tools_and_sdk/wurfl_and_wall/intro_wall.htm
http://wall.laacz.lv/

(написано несколько месяцев назад)



Опубликовано: Пётр Соболев

Случайная заметка

6967 дней назад, 02:5125 сентября 1999 Оргкомитет Chaos Construction demo party (CC'99 прошла в конце августа в Санкт-Петербурге) официально объявил о подготовке CC'00 которая (если конечно не помешает Y2K problem :) состоится 19,20 августа 2000 года, также в Санкт-Петербурге. На CC'99 будут представлены PC,Amiga,Spectrum. К большому сожалению, из правил не исчез пункт вызвавший неоднозначную реакцию ...далее

Избранное

535 дней назад, 01:575 мая 2017 Часть 1: От четырёх до восьми Я люблю читать воспоминания людей, заставших первые шаги вычислительной техники в их стране. В них всегда есть какая-то романтика, причём какого она рода — сильно зависит от того, с каких компьютеров люди начали. Обычно это определяется обстоятельствами — местом работы, учёбы, а иногда и вовсе — ...далее

47 дней назад, 20:305 сентября 2018 "Finally, we come to the instruction we've all been waiting for – SEX!" / из статьи про микропроцессор CDP1802 / В начале 1970-х в США были весьма популярны простые электронные игры типа Pong (в СССР их аналоги появились в продаже через 5-10 лет). Как правило, такие игры не имели микропроцессора и памяти в современном понимании этих слов, а строились на жёсткой ...далее