Favicon
Ein Favicon (/ˈfæv.ɪˌkɒn/; kurz für Lieblingssymbol), auch bekannt als Verknüpfungssymbol, Website-Symbol, Tab-Symbol, URL-Symbol oder Lesezeichen-Symbol, ist eine Datei mit einem oder mehreren kleinen Symbolen, die mit einer bestimmten Website oder Webseite verknüpft sind. Ein Webdesigner kann ein solches Symbol erstellen und es auf verschiedene Weise auf eine Website (oder Webseite) hochladen, und grafische Webbrowser verwenden es dann. Browser, die Favicon-Unterstützung bieten, zeigen das Favicon einer Seite in der Regel in der Adressleiste des Browsers (manchmal auch im Verlauf) und neben dem Namen der Seite in einer Liste von Lesezeichen an. Bei Browsern, die eine Schnittstelle für Dokumente mit Registerkarten unterstützen, wird das Favicon einer Seite in der Regel neben dem Titel der Seite auf der Registerkarte angezeigt, und bei standortspezifischen Browsern wird das Favicon als Desktop-Symbol verwendet. ⓘ
Der Begriff ist ein Portmanteau- oder Kofferwort aus dem Englischen. Er besteht aus den Komponenten Favorite und Icon, die man grob mit Favoriten-Symbol übersetzen kann. ⓘ
Geschichte
Im März 1999 veröffentlichte Microsoft den Internet Explorer 5, der zum ersten Mal Favicons unterstützte. Ursprünglich war das Favicon eine Datei namens favicon.ico
, die im Stammverzeichnis einer Website abgelegt wurde. Es wurde in den Favoriten (Lesezeichen) des Internet Explorers und neben der URL in der Adressleiste verwendet, wenn die Seite mit einem Lesezeichen versehen war. Ein Nebeneffekt war, dass die Anzahl der Besucher, die die Seite mit einem Lesezeichen versehen hatten, anhand der Anfragen für das Favicon geschätzt werden konnte. Dieser Nebeneffekt funktioniert nicht mehr, da alle modernen Browser die Favicon-Datei laden und in ihrer Adressleiste anzeigen, unabhängig davon, ob die Seite mit einem Lesezeichen versehen ist. ⓘ
Standardisierung
Das Favicon wurde vom World Wide Web Consortium (W3C) in der Empfehlung für HTML 4.01, die im Dezember 1999 veröffentlicht wurde, und später in der Empfehlung für XHTML 1.0, die im Januar 2000 veröffentlicht wurde, standardisiert. Die Standardimplementierung verwendet ein Link-Element mit einem rel-Attribut im <head>
-Abschnitt des Dokuments, um das Dateiformat, den Dateinamen und den Speicherort anzugeben. Im Gegensatz zum vorherigen Schema kann sich die Datei in einem beliebigen Website-Verzeichnis befinden und ein beliebiges Bilddateiformat haben. ⓘ
Im Jahr 2003 wurde das .ico
-Format von einer dritten Partei bei der Internet Assigned Numbers Authority (IANA) unter dem MIME-Typ image/vnd.microsoft.icon
registriert. Bei der Verwendung des .ico
-Formats zur Anzeige von Bildern (z. B. nicht als Favicon) kann der Internet Explorer jedoch keine Dateien anzeigen, die mit diesem standardisierten MIME-Typ bereitgestellt werden. Eine Abhilfe für Internet Explorer besteht darin, .ico
mit dem nicht standardisierten image/x-icon
-MIME-Typ in Webservern zu verknüpfen. ⓘ
Mit RFC 5988 wurde ein IANA-Register für Link-Relations eingerichtet,
und rel="icon"
wurde 2010 auf der Grundlage der HTML5-Spezifikation registriert. Die populäre <link rel="shortcut icon" type="image/png" href="image/favicon.png"> identifiziert theoretisch zwei Relationen, nämlich "shortcut
" und "
", aber "icon
shortcut
" ist nicht registriert und somit redundant. Im Jahr 2011 wurde im lebenden HTML-Standard festgelegt, dass aus historischen Gründen Shortcut
unmittelbar vor Icon zulässig ist; Shortcut
hat in diesem Zusammenhang jedoch keine Bedeutung. ⓘ
Ältere
Internet Explorer 5-10 unterstützt nur das ICO-Dateiformat. Netscape 7 und die Internet Explorer-Versionen 5 und 6 zeigen das Favicon nur an, wenn die Seite mit einem Lesezeichen versehen ist, und nicht nur, wenn die Seiten besucht werden, wie in späteren Browsern. ⓘ
Beispiele für Favicons
- Icon-512x512.png
Coolmath Spiele
- GitHub icon.svg
Browser-Implementierung
Die folgenden Tabellen veranschaulichen die Unterstützung verschiedener Funktionen in den wichtigsten Webbrowsern. Sofern nicht anders angegeben, geben die Versionsnummern die Anfangsversionsnummer einer unterstützten Funktion an. ⓘ
Unterstützung von Dateiformaten
Die folgende Tabelle veranschaulicht die Unterstützung von Bilddateiformaten für das Favicon. ⓘ
Browser | Bilddateiformat ⓘ | ||||||
---|---|---|---|---|---|---|---|
ICO | PNG | GIF | animierte GIFs | JPEG | APNG | SVG | |
Rand | Ja | Ja | Ja | Nein | Ja | Unbekannt | Ja |
Firefox | 1.0 | 1.0 | 1.0 | Ja | Ja | 3.0 | 41.0 |
Google Chrome | Ja | Ja | 4.0 | Nein | 4.0 | Nein | 80 |
Internet Explorer | 5.0 | 11.0 | 11.0 | Nein | Nein | Nein | Nein |
Oper | 7.0 | 7.0 | 7.0 | 7.0 | 7.0 | 9.5 | 44.0 |
Safari | Ja | 4.0 | 4.0 | Nein | 4.0 | Nein | Nicht-Standard (12.0) |
Außerdem können solche Icon-Dateien 16×16, 32×32, 48×48 oder 64×64 Pixel groß sein und eine Farbtiefe von 8-bit, 24-bit oder 32-bit haben. Der Artikel über das ICO-Dateiformat erklärt die Details für Icons mit mehr als 256 Farben auf verschiedenen Microsoft Windows-Plattformen. ⓘ
Verwendung des Favicons
Diese Tabelle veranschaulicht die verschiedenen Bereiche des Browsers, in denen Favicons angezeigt werden können. ⓘ
Browser | Adressleiste | Dropdown-Liste in der Adressleiste | Links-Leiste | Lesezeichen | Registerkarten | Auf den Desktop ziehen ⓘ |
---|---|---|---|---|---|---|
Rand | Nein | Ja | Ja | Ja | Ja | Ja |
Firefox | 1.0-12.0: Ja > v13: Nein |
Ja | Ja | Ja | Ja | Ja |
Google Chrome | Nein | Nein | Ja | Ja | 1.0 | Nein |
Internet Explorer | 7.0 | Nein | 5.0 | 5.0 | 7.0 | 5.0 |
Oper | 7.0-12.17: Ja > v14: Nein |
Nein | 7.0 | 7.0 | 7.0 | 7.0 |
Safari | Ja | Ja | Nein | Ja | 1.0-8.0: Ja 9.0-11.0: Nein > 12.0: Wahlweise |
Nein |
Opera Software hat die Möglichkeit hinzugefügt, das Favicon in der Schnellwahl in Opera 10 zu ändern. ⓘ
Wie man es benutzt
Diese Tabelle veranschaulicht die verschiedenen Möglichkeiten, wie das Favicon vom Webbrowser erkannt werden kann. Die Standardimplementierung verwendet ein Link-Element mit einem rel
-Attribut im <head>
-Abschnitt des Dokuments, um das Format, den Namen und den Speicherort der Datei anzugeben. ⓘ
Rand | Firefox | Google Chrome | Internet Explorer | Oper | Safari ⓘ | |
---|---|---|---|---|---|---|
<link rel="shortcut icon"
href="https://example.com/myicon.ico"> |
Ja | Ja | Ja | Ja | Ja | Ja |
<link rel="icon"
type="image/vnd.microsoft.icon"
href="https://example.com/image.ico"> |
Ja | Ja | Ja | Ja (aus IE 9) | Ja | Ja |
<link rel="icon" type="image/x-icon"
href="https://example.com/image.ico"> |
Ja | Ja | Ja | Ja (aus IE 9) | Ja | Ja |
<link rel="icon"
href="https://example.com/image.ico"> |
Ja | Ja | Ja | Ja (aus IE 11) | Ja | Ja |
<link rel="icon" type="image/gif"
href="https://example.com/image.gif"> |
Ja | Ja | Ja | Ja (aus IE 11) | Ja | Ja |
<link rel="icon" type="image/png"
href="https://example.com/image.png"> |
Ja | Ja | Ja | Ja (aus IE 11) | Ja | Ja |
<link rel="icon" type="image/svg+xml"
href="https://example.com/image.svg"> |
Ja | Ja | Ja | Ja | Ja | Nein |
<link rel="mask-icon"
href="https://example.com/image.svg" color="red"> |
Nein | Nein | Nein | Nein | Nein | Ja |
favicon.ico im Stammverzeichnis der Website
|
Ja | Fakultativ | Ja | Ja | Fakultativ | Ja |
Vorrang: Root oder (X)HTML verlinkte Version bevorzugen | verlinkt | verlinkt | verlinkt | verlinkt | ? | ? |
Wenn Links sowohl für PNG- als auch für ICO-Favicons vorhanden sind, wählen PNG-favicon-kompatible Browser das zu verwendende Format und die Größe wie folgt aus. Firefox und Safari verwenden das Favicon, das als letztes erscheint. Chrome für Mac verwendet das Favicon im ICO-Format, ansonsten das 32×32-Favicon. Chrome für Windows verwendet das Favicon, das an erster Stelle steht, wenn es 16×16 ist, ansonsten das ICO. Wenn keine der oben genannten Optionen verfügbar ist, verwenden beide Chromes das Favicon, das als erstes erscheint, genau das Gegenteil von Firefox und Safari. Chrome für Mac ignoriert das 16×16-Favicon und verwendet die 32×32-Version, nur um es auf Nicht-Retina-Geräten wieder auf 16×16 zu verkleinern. Opera wählt eines der verfügbaren Icons nach dem Zufallsprinzip aus. ⓘ
Nur SeaMonkey ruft standardmäßig keine favicon.ico
-Dateien im Stammverzeichnis der Website ab. ⓘ
HTML5-Empfehlung für Icons in verschiedenen Größen
Die aktuelle HTML5-Spezifikation empfiehlt die Angabe mehrerer Größen für die Icons unter Verwendung der Attribute rel="icon" sizes="space-separated list of icon dimensions"
innerhalb eines <link> Tag. Mehrere Icon-Formate, einschließlich Container-Formate wie Microsoft .ico- und Macintosh .icns-Dateien, sowie Scalable Vector Graphics können bereitgestellt werden, indem der Content-Typ des Icons in das Format type="file content-type"
innerhalb des <link> Tag. ⓘ
Seit iOS 5 ignorieren die mobilen Geräte von Apple die HTML5-Empfehlung und verwenden stattdessen die oben beschriebene proprietäre Apple-Touch-Icon
-Methode. Der Google Chrome-Webbrowser wählt jedoch die am besten passende Größe aus den in den HTML-Headern angegebenen Größen aus, um 128×128 Pixel große Anwendungssymbole zu erstellen, wenn der Benutzer die Option Anwendungsverknüpfungen erstellen... aus dem Menü "Extras" wählt. ⓘ
Startbildschirm-Symbole auf mobilen Geräten
Auf Apple iPhones und iPads sowie auf Android-Mobilgeräten können Benutzer Webseiten als Verknüpfungssymbole an ihren Startbildschirm anheften. Diese Verknüpfungssymbole sehen ähnlich aus wie normale Apps, und Webentwickler können spezielle Symbole für sie bereitstellen. ⓘ
Apple-Geräte
Bei Apple-Geräten mit dem Betriebssystem iOS, Version 1.1.3 oder höher, können Nutzer eine Website über die Schaltfläche Zum Startbildschirm hinzufügen in der Freigabeleiste in Safari an den Startbildschirm anheften. ⓘ
Dies funktioniert für jede Website. Damit iOS die Verknüpfung mit einem Symbol anzeigt, muss die Website jedoch ein <link rel="apple-touch-icon" ...> im <head>
-Abschnitt der von der Website bereitgestellten Dokumente. Wenn das benutzerdefinierte Symbol nicht bereitgestellt wird, wird stattdessen eine Miniaturansicht der Webseite auf dem Startbildschirm angezeigt. ⓘ
Die Größe der App-Symbole ist für die verschiedenen Geräteklassen unterschiedlich. Die empfohlenen Größen für die Icons sind 152x152 für iPads (bis iPad 2, erschienen 2011), 167x167 für iPads mit Retina-Bildschirm (iPad 3 und später) und 180x180 für iPhones. Wenn kein Icon in der passenden Größe angegeben wird, wählt iOS das größte Icon mit rel="apple-touch-icon"
und skaliert es automatisch. ⓘ
- Beispiel-Code
<!-- Für iPad -->
<link rel="apple-touch-icon" type="image/png" sizes="167x167" href="favicon-167x167.png"> <span title="Aus: Englische Wikipedia, Abschnitt "Apple devices"" class="plainlinks">[https://en.wikipedia.org/wiki/Favicon#Apple_devices <span style="color:#dddddd">ⓘ</span>]</span>
<!-- Für iPhone -->
<link rel="apple-touch-icon" type="image/png" sizes="180x180" href="favicon-180x180.png"> <span title="Aus: Englische Wikipedia, Abschnitt "Apple devices"" class="plainlinks">[https://en.wikipedia.org/wiki/Favicon#Apple_devices <span style="color:#dddddd">ⓘ</span>]</span>
Die Icon-Datei, auf die apple-touch-icon
verweist, wurde geändert, um abgerundete Ecken hinzuzufügen. Bei iOS-Versionen vor iOS 7 werden ein Schlagschatten und ein reflektierender Glanz hinzugefügt, und apple-touch-icon-precomposed
icon kann bereitgestellt werden, um Geräte anzuweisen, keinen reflektierenden Glanz auf das Bild anzuwenden. ⓘ
Browser und mobile Geräte benötigen auch kein HTML, um diese Symbole abzurufen. Das Stammverzeichnis der Website ist der Standardspeicherort für die Datei apple-touch-icon.png
(in der Reihenfolge der Priorität). ⓘ
Android-Geräte
Auf Android-Geräten können Benutzer die Funktion Zum Startbildschirm hinzufügen im Chrome-Menü verwenden, um eine Webseite an ihren Startbildschirm zu heften. ⓘ
Dies funktioniert auch für jede andere Website, aber wenn kein Favicon angegeben ist, wird ein allgemeines Symbol verwendet. Da die Icons von Android-Apps eine Größe von 48x48 Punkten haben, sollten Websites Favicons in Vielfachen von 48x48 Pixeln bereitstellen. Für moderne hochauflösende Geräte empfiehlt Google die Bereitstellung von Icons in 192x192 Pixeln.
- Beispiel-Code
<!-- Für Android -->
<link rel="icon" type="image/png" sizes="48x48" href="favicon-48x48.png">
<link rel="icon" type="image/png" sizes="192x192" href="favicon-192x192.png"> <span title="Aus: Englische Wikipedia, Abschnitt "Android devices"" class="plainlinks">[https://en.wikipedia.org/wiki/Favicon#Android_devices <span style="color:#dddddd">ⓘ</span>]</span>
Android unterstützt auch Web-Manifest-Dateien, die es ermöglichen, Websites tiefer in das System zu integrieren. Ein Web Manifest ist eine JSON-Datei, die Metadaten für eine progressive Web-App angibt. Sie ermöglicht es dem Entwickler, nicht nur die Icons, sondern auch einen Kurznamen für die Anzeige auf dem Startbildschirm sowie die Themenfarben anzugeben. Die Bereitstellung einer Webmanifestdatei ist jedoch nicht erforderlich, damit die Funktion Zum Startbildschirm hinzufügen funktioniert. ⓘ
Animierte Favicons
Verschiedene Browser wie Chrome, Firefox und Opera unterstützen die Animation von Favicons. Für Firefox liegt seit 2001 ein Fehlerbericht vor, in dem eine Möglichkeit zur Deaktivierung dieser Funktion gefordert wird. ⓘ
Beschränkungen und Kritik
Da das Favicon immer an einem festen Ort gesucht werden muss, kann es zu einer künstlich verlangsamten Ladezeit der Seite und zu unnötigen 404-Einträgen im Server-Log führen, wenn es nicht vorhanden ist. ⓘ
Das W3C hat das rel-Attribut nicht standardisiert, daher gibt es andere Schlüsselwörter wie z.B. Shortcut-Icon, die ebenfalls vom User-Agent akzeptiert werden. ⓘ
Favicons werden oft als Teil von Phishing- oder Lauschangriffen gegen HTTPS-Webseiten manipuliert. Viele Webbrowser zeigen Favicons in der Nähe von Bereichen der Benutzeroberfläche des Webbrowsers an, z. B. in der Adressleiste, die anzeigen, ob die Verbindung zu einer Website über ein sicheres Protokoll wie TLS erfolgt. Durch Ändern des Favicons in ein vertrautes Vorhängeschloss-Bild kann ein Angreifer versuchen, dem Benutzer vorzugaukeln, dass er sicher mit der richtigen Website verbunden ist. Automatisierte Man-in-the-Middle-Angriffstools wie SSLStrip nutzen diesen Trick aus. Um dies zu verhindern, zeigen einige Webbrowser wie Firefox oder Google Chrome das Favicon innerhalb der Registerkarte an, während der Sicherheitsstatus des für den Zugriff auf die Website verwendeten Protokolls neben der URL angezeigt wird. ⓘ
Da sich Favicons in der Regel im Stammverzeichnis der Website auf dem Server befinden, können sie mit einer gewissen Zuverlässigkeit eingesetzt werden, um zu erkennen, ob ein Web-Client bei einem bestimmten Dienst angemeldet ist. Dazu wird die Funktion "Umleitung nach Anmeldung" vieler Websites genutzt, indem das Favicon in einer Umleitungs-URL nach Anmeldung abgefragt und die Serverantwort getestet wird, um festzustellen, ob der Benutzer die angeforderte Ressource erhält (was bedeutet, dass er angemeldet ist) oder stattdessen auf die Anmeldeseite umgeleitet wird (was bedeutet, dass er nicht bei dem Dienst angemeldet ist). ⓘ
Im Jahr 2021 wurde von Forschern der Universität von Illinois eine Methode für das Browser-Tracking mithilfe von Favicons vorgestellt. ⓘ
Dateiformat
Das Dateiformat ico ist ein Container für Bilddaten. Es kann viele Bilder in unterschiedlicher Auflösung aufnehmen, die unkomprimiert als Bitmap (bzw. ab Windows Vista ab einer Auflösung von 256×256 Pixeln als PNG) abgelegt werden. ⓘ
Interaktive Favicons
Als Demonstration entwickelte der französische Webentwickler und Designer Mathieu Henri ein Spiel namens "Defender of the favicon", welches das Favicon als Anzeigefläche verwendet. Das kleine Remake des Arcadespiels Defender ist in JavaScript geschrieben. Der Code erzeugt jeden Frame des Spiels in der Favicongröße (16×16 Pixel). Anschließend wird er in ein PNG konvertiert. ⓘ