Логотип сайта |
MS IE (начиная с версии 5.0) при занесении сайта в избранное (favorites) извлекает значок (логотип, иконку) сайта и помещает его в список избранных сайтов и окно адреса (address bar), откуда их можно перетащить на поверхность стола и некоторые другие места. Konqueror и Mozilla (относительно надежно работает начиная с версии 0.9.7) запрашивают значок сайта не дожидаясь действий посетителя. Mozilla затем показывает его в URL Bar, Tab, Personal toolbar, меню bookmarks (закладки). Почему-то значки не показываются в отдельном окне закладок и Sidebar.
Формат значков соответствует формату файлов .ico MS Windows и представляет собой несколько DIB-изображений (см. формат BMP) в одном файле. Значки могут быть либо в отдельном файле, либо включены в .dll или .exe файлы. DIB-изображения бывают с индексированными цветами (до 256 цветов, палитра 16 или 24 бита) или RGB (24 бита). Могут иметь прозрачный фон (XOR маска и AND маска (1bpp)). Описание можно взять на The Programmer's File Format Collection.
Для использования в качестве значка сайта изображение должно быть размером 16x16. Я также рекомендую использовать .ico файл с одним индексированным изображением не более 16 цветов, другие форматы не всегда распознаются браузерами.
Получение .ico файлов в linux:
- преобразование с помощью convert из ImageMagick (версия 5.3.8 не работает)
- xpm2wico делает замечательные .ico файлы (идентифицируются программами file, identify и ee), но Mozilla не воспринимает их в качестве значков сайтов (м.б. из-за того, что они имеют 256 цветов?)
- pngtoico (всего 7kB!) делает .ico файлы только с индексированными цветами, но для изготовления значков сайтов именно это и нужно.
- www.favicon.com - профессиональное изготовление значков сайтов и продажа программ для этого (бесплатный вариант на Java на сайте)
Можно явно указать браузеру на расположение значка поместив в заголовок страницы строку:
<link rel="SHORTCUT ICON" href="URL-адрес">
Разместив на каждой странице различные значки, можно будет узнать впоследствии какие страницы чаще всего заносятся в избранное вашими посетителями.
Если браузер не встретил указания о местонахождении значка в заголовке страницы, то он пытается взять его из файла favicon.ico в корневой директории сайта (так описано в документации MS). На практике, файл favicon.ico тянется не только из корневой директории, но и из других директорий (не забудьте также о redirect-ах).
К сожалению, для значков сайтов не определен MIME код. Поэтому различные сайты возвращают различные значения заголовка Content-Type: text/plain, imag/x-icon (subscribe.ru), image/x-icon (narod.yandex.ru), application/octet-stream. Использовать типы text/* в русском apache нельзя (по умолчанию, файлы с незнакомыми серверу суффиксами получают тип text/html), т.к. они подвергаются преобразованию кодировки, как и все текстовые файлы. Проще всего поменять тип можно внеся в файл apache/conf/mime.types строку (не забудьте перезапустить сервер):
image/ico ico