gravatar, pavatar, libravatar

вначале были форумы, и на форумах были аватары. Потом появились блоги, и комментаторы хотели иметь там аватары. Но загружать аватар на каждый блог было неудобно, и явился Gravatar. На нём можно было указать свой емейл, загрузить аватар, и он автоматически появлялся рядом с твоими комментариями на всех блогах с поддержкой этой системы.

это было намного удобнее, чем прежде, но недостаточно хорошо, потому что это была централизованная система. Всё завязано на единый сайт, и если с ним что-то случится, или он задумает сменить бизнес-модель, будет неловко. Распределённые системы в этом смысле лучше. Тут под рукой удачно оказался OpenID, который был распределённый, и у каждого пользователя была своя страничка. Что может быть очевиднее, чем дать на этой страничке ссылку на аватар? Так появился pavatar.

однако у pavatar были недостатки по сравнению с gravatar. Во-первых, пользователи без OpenID, с одним только емейлом, оставались не у дел. Во-вторых, разбор HTML-страницы, чтобы извлечь из неё ссылку на pavatar, — довольно затратный процесс, и это особенно заметно при большом числе комментаторов. Нужен какой-то другой способ совместить распределённость с простотой.

и вот Libravatar взял идею Gravatar «имя картинки — это хеш от емейла», развил её до «имя картинки — это хеш от емейла или OpenID», а распределённость сделал через SRV-запись в DNS. При этом сервера самого Libravatar служат в качестве запасного варианта. Ну и код Libravatar открытый.

этот вариант более совершенный, хотя и более сложный для умеренно-продвинутого пользователя: вместо вставки тега в код, нужно создать SRV-запись в DNS. Но мне он больше нравится, так что в дополнение к строчке на своей странице:

<link rel="pavatar" href="http://arty.name/img/1344467.png">

я создал такую запись в DNS:

_avatars._tcp.arty.name. 86400 IN SRV 0 0 80 arty.name.

и скопировал 1344467.png в md5('me@arty.name') = ad4f3a81155f469603be3b8bd5cf3348 и sha256('http://arty.name') = 3876b8005186bddc104495cd6c81f160f990f7fec7e96d89cfd185668bc2886d в корневом каталоге сайта, в соответствии с API Libravatar. Когда в проверялке Libravatar очнётся кеш, она должна начать показывать мой аватар по емейлу и OpenID.

Артемий Трегубенко,
, ,

comments powered by Disqus