Введение

Иконка, связанная с определенным веб-сайтом.

Фавикон (англ. favicon, сокращение от "favorite icon" – любимая иконка), также известный как иконка ярлыка, иконка сайта, иконка вкладки, URL-иконка или иконка закладки, — это файл, содержащий одну или несколько небольших иконок. Веб-дизайнер может создать такую иконку и загрузить её на веб-сайт (или веб-страницу) различными способами, после чего графические веб-браузеры будут использовать её.

Стандартизация

В 2003 году формат ico был зарегистрирован третьей стороной в Управлении присвоения номеров Интернета (IANA) под типом MIME image/vnd.microsoft.icon. Однако, при использовании формата ico для отображения в виде изображений (например, не в качестве favicon), Internet Explorer не может отображать файлы, передаваемые с этим стандартизированным типом MIME. RFC 5988 учредил реестр отношений ссылок IANA, и rel="icon" был зарегистрирован в 2010 году на основе спецификации HTML5. Стандарт де-факто теоретически определяет два отношения: shortcut и icon, но shortcut не зарегистрирован и является избыточным. В 2011 году живой стандарт HTML определил, что по историческим причинам shortcut допускается непосредственно перед icon; однако shortcut не имеет значения в данном контексте.

Наследие

Internet Explorer 5–10 поддерживает только формат файла ICO. Netscape 7 и версии Internet Explorer 5 и 6 отображают фавикон только при добавлении страницы в закладки, а не просто при её посещении, как это происходит в более современных браузерах.

Внедрение браузера

В следующих таблицах показана поддержка различных функций основными веб-браузерами. Если не указано иное, указанные номера версий соответствуют начальной версии, в которой функция поддерживается.

Поддержка формата файла изображения

В следующей таблице показана поддержка форматов файлов изображений для favicon. БраузерФормат файла изображенияICOPNGGIFАнимированные GIFJPEGAPNGSVGEdge✔✔✔✔Firefox✔Google Chrome✔✔Internet ExplorerOperaSafari✔Нестандартно (версия 12.0)Кроме того, размеры таких файлов значков могут составлять 16×16, 32×32, 48×48 или 64×64 пикселей, а глубина цвета – 8, 24 или 32 бита. Подробности об иконках с более чем 256 цветами на различных платформах Microsoft Windows описаны в статье о формате файла ICO.

Рекомендация HTML5 для значков разных размеров

В текущей спецификации HTML5 рекомендуется указывать несколько размеров для значков, используя атрибуты rel="icon" sizes="разделенный пробелами список размеров значков" в теге <link>. Можно предоставить несколько форматов значков, включая контейнерные форматы, такие как файлы Microsoft ico и Macintosh icns, а также масштабируемую векторную графику, указав тип контента значка в атрибуте type="тип контента файла" в теге <link>. Начиная с iOS 5, мобильные устройства Apple игнорируют рекомендацию HTML5 и вместо этого используют проприетарный метод "apple touch icon", описанный ниже. Однако веб-браузер Google Chrome выберет наиболее подходящий размер из предложенных в HTML-заголовках для создания иконок приложений размером 128×128 пикселей, когда пользователь выберет опцию "Создать ярлыки приложений" в меню "Инструменты".

Иконки домашнего экрана на мобильных устройствах

На iPhone и iPad от Apple, а также на мобильных устройствах Android, пользователи могут добавлять веб-страницы на главный экран в виде ярлыков. Эти ярлыки выглядят как обычные приложения, и веб-разработчики могут предоставлять для них собственные значки.

Ограничения и критики

Из-за необходимости постоянной проверки его местоположения, фавикон может искусственно замедлять загрузку страницы и создавать ненужные записи 404 в журнале сервера, если он отсутствует. Фавиконами часто манипулируют в ходе фишинговых или перехват-атак на HTTPS-страницы. Многие веб-браузеры отображают фавиконы рядом с элементами пользовательского интерфейса, такими как адресная строка, которые используются для индикации использования безопасного протокола, например TLS, при подключении к сайту. Меняя фавикон на изображение знакомого замка, злоумышленник может обмануть пользователя, заставив его поверить в безопасное соединение с нужным сайтом. Автоматизированные инструменты атак типа "человек посередине", такие как sslstrip, используют этот прием. Чтобы избежать этого, некоторые веб-браузеры, например Firefox или Google Chrome, отображают фавикон на вкладке, а статус безопасности протокола, используемого для доступа к сайту, – рядом с URL-адресом. Поскольку фавиконы обычно располагаются в корневом каталоге сайта на сервере, их можно с определенной степенью надежности использовать для определения, авторизован ли веб-клиент в определенной службе. Это достигается за счет использования функции перенаправления после авторизации, распространенной на многих сайтах: отправляется запрос на фавикон по URL-адресу перенаправления после входа в систему, и анализируется ответ сервера, чтобы определить, был ли пользователю предоставлен запрошенный ресурс (что означает, что он авторизован), или же он был перенаправлен на страницу входа (что означает, что он не авторизован). В 2021 году исследователи из Университета Иллинойса продемонстрировали метод отслеживания браузеров с помощью фавиконов.