Wenn ein Web-Browser oder ein Such-Robot oder der Agent eines Proxy-Servers bei einem Web-Server Daten anfordert, schickt er immer auch eine Zeichenkette mit, mit der er sich dem Web-Server gegenüber "namentlich vorstellt". Ein einheitliches oder standardisiertes Schema dafür ist in der Spezifikation zu HTTP 1.1 definiert worden. Nach der Ankündigung der Vorstellung eines "User-Agents" (das ist der Oberbegriff für die anfangs genannten Programme, die Daten anfordern können) wird wenigstens ein Hinweis auf das Produkt oder ein Kommentar übersandt. Nicht definiert ist die für die Praxis notwendige Unterscheidung zwischen verschiedenen Produktversionen oder -typen. Das ist bedauerlich. In der Praxis hat sich eine gewisse Regel herausgeschält: Produktname und Produktversion werden in dieser Reihenfolge und durch Schrägstrich getrennt dargestellt. Es halten sich allerdings nicht alle Browser an dieses Schema. Einige Browser-Typen geben sich als andere aus, und wieder andere erlauben es auch dem Anwender an der Programmoberfläche, eine beliebige Identifikation einzustellen. Wenn der Anwender dann seinen Namen oder irgendeinen Unsinn eingibt, meldet sich der Browser damit beim Server an.
Dennoch wird die Client-Identifikation an verschiedenen Stellen gespeichert und kann in manchen Situationen zu nützlichen Zwecken dienen:
HTTP_USER_AGENT
auslesen, um herauszufinden, von welcher Client-Software es aufgerufen wurde. Auch dabei kann die Information dazu genutzt werden, um bestimmte Anweisungen abhängig auszuführen oder nicht auszuführen.Netscape gibt sich seit jeher mit dem Namen Mozilla aus. Eindeutig erkennbar ist er daran allerdings überhaupt nicht, denn der Internet Explorer gibt sich beispielsweise ebenfalls als Mozilla aus. Die folgenden Beispiele zeigen einige typische Identifikationen, die jedoch nur für Netscape typisch sind.
Identifikation |
---|
Mozilla/2.0(Macintosh;I;PPC) |
Mozilla/2.0(Win16;I) |
Mozilla/3.01Gold[de](Win16;I) |
Mozilla/4.03 [en] (X11; I; Linux 2.0.30 i686) |
Mozilla/4.01 [en] (Win95; I) |
Mozilla/4.01 [en]C-CCK-MCD (WinNT; I) |
Mozilla/4.01 [en]C-FedExIntl (Win95; I) |
Mozilla/4.5 [en] (X11; I; SunOS 5.6 sun4d) |
Mozilla/4.6 [en] (X11; I; FreeBSD 3.2-RELEASE i386) |
Mozilla/5.0 [en] (WinNT; I) |
Mozilla/5.0b1 [en] (X11; N; Linux 2.2.0 alpha; Nav) |
Das grundsätzliche Schema für Produktname und Version wird also eingehalten - die Identifikation startet immer mit Mozilla/[Versionsangabe]
. Damit ist er allerdings noch nicht von vielen anderen Browsern unterscheidbar! Die Versionsangabe kann auch Zusatzangaben enthalten wie 5.0b1
(was eigentlich für Version 6.0 steht, da Version 5.0 übersprungen wurde, und b1
steht für "Betaversion 1"). Auch andere Zusätze wie 3.01Gold
können vorkommen (Gold
stand seinerzeit für die erste Variante des Netscape-Browsers, die zugleich WYSIWYG-Editieren erlaubte, also ein Vorläufer des Netscape Composer).
Hinter der Versionsangabe kann in eckigen Klammern ein Sprachenkürzel folgen, das die Sprache der Browser-Bedienelemente angibt. Das Sprachenkürzel ist bei neueren Versionen zwar Standard, aber es kann auch mal fehlen.
In runden Klammern folgen anschließend weitere Informationen. Mehrere davon werden durch Semikolon voneinander getrennt. Zunächst wird die verwendete Plattform genannt. Dabei sind Abkürzungen wie Win95
, Win98
oder WinNT
für entsprechende Windows-Versionen möglich. Bei allen Unix-basierten Systemen wird an der Stelle meistens X11
angegeben, was für X-Windows steht, und bei Mac-Rechnern Macintosh
.
An zweiter Stelle innerhalb der runden Klammern folgt ein Großbuchstabe, der das Sicherheits-Level des Browsers bezeichnet (Länge von Schlüsseln). Ein U
steht für "strong security (US)" (diese Version wurde früher aufgrund von Exportbestimmungen nur in den USA vertrieben), ein I
für "weak security (international)" (das war die erlaubte Export-Version mit schwacher Verschlüsselung). Das N
steht für "no security".
Hinter dem Sicherheitskennzeichen folgen dann noch beschreibende Informationen zum verwendeten Prozessortyp und/oder nähere Angaben zum Betriebssystem.
Alle Teile können Leerzeichen dazwischen haben, aber zwingend ist dies nicht.
Der Internet Explorer gibt sich in seiner Browser-Identifikation deutlich weniger selbstbewusst als sonst. Er versteckt sich stets hinter dem gleichen Codenamen wie die Netscape-Browser, gibt zunächst eine Versionsnummer an, die sich auf Netscape bezieht und rückt dann, durch das Schlüsselwort compatible
eingeleitet, mit den Informationen über sich selber heraus. Die folgenden Beispiele zeigen einige typische Identifikationen des Internet Explorers.
Identifikation |
---|
Mozilla/1.22(compatible;MSIE2.01;WindowsNT) |
Mozilla/2.0(compatible;MSIE3.0;AK;Windows95) |
Mozilla/2.0(compatible;MSIE3.02;Updatea;AK;AOL3.0;Windows95) |
Mozilla/4.0 (compatible; MSIE 4.0; Windows 95;BPH01) |
Mozilla/4.0 (compatible; MSIE 4.0; Mac_68000) |
Mozilla/4.0 (compatible; MSIE 4.0; Mac_PowerPC; e412354MCICDV4.0) |
Mozilla/4.0 (compatible; MSIE 4.0b2; Windows 95) |
Mozilla/4.0 (compatible; MSIE 5.0; AOL 4.0; Windows 95) |
Mozilla/4.0 (compatible; MSIE 5.0; MSN 2.5; Windows 98) |
Mozilla/4.0 (compatible; MSIE 5.0; Windows 95) |
Das grundsätzliche Schema für Produktname und Version folgt dem von Netscape und wird also eingehalten - die Identifikation startet immer mit Mozilla/[Versionsangabe]
. Die Versionsangabe dahinter bedeutet, zu welcher Netscape-Browser-Version sich der ausgewiesene Internet Explorer voll kompatibel hält. Das ist natürlich immer mit gewissen Vorbehalten zu genießen, denn ein Internet Explorer hat beispielsweise zu keinem Zeitpunkt je das layer
-Element in HTML interpretiert, also ist die Behauptung der Kompatibilität zu Netscape 4.0 nicht unbedingt haltbar. Von daher bringt die Versionsangabe hinter dem Mozilla/
beim Internet Explorer keine wirkliche Erkenntnis.
Seine eigentliche Identität verrät der Internet Explorer erst in den runden Klammern. Diese enthalten normalerweise mehrere Angaben, durch Semikolon getrennt. Der erste Teil ist stets das Schlüsselwort compatible
. Dahinter folgen die vier Großbuchstaben MSIE
, die eigentlich den Bezug zum Internet Explorer herstellen. Dahinter folgt die genaue Versionsangabe.
Alle weiteren Angaben können differieren und eine unterschiedliche Reihenfolge haben. Bei Betriebssystembezeichnungen fällt auf, dass Windows
durchweg ausgeschrieben ist, während Macintosh-Versionen des Internet Explorers sich üblicherweise mit Mac
plus Unterstrich plus nähere Bezeichnung ausgeben. Wenn es sich um eine Browser-Distribution eines Online-Dienstes wie AOL oder MSN handelt, wird dies in einem Zusatzeintrag wie AOL 4.0
verzeichnet.
Alle Teile können Leerzeichen dazwischen haben, aber zwingend ist dies nicht, besonders bei älteren Versionen nicht.
Die folgenden Beispiele zeigen typische Identifikationen einiger anderer Browser-Typen.
Identifikation |
---|
Mozilla/5.0 (Macintosh; U; PPC Mac OS X; de-de) AppleWebKit/125.5.6 (KHTML, like Gecko) Safari/125.12 |
Mozilla/1.2 (Opera/2.02) |
Mozilla/3.0 (compatible; Opera/3.0; Windows 95) 3.51 |
Mozilla/3.0 (Windows 4.10;US) Opera 3.60 [en] |
DosLynx/0.8a |
Lynx 2.4-FM |
Lynx 2.5 libwww-FM/2.14 |
Lynx 2.9 (compatible Interactive Tcl/Tk News Ticker v0.06) |
Lynx/2-4-2 MU-MODS |
Lynx_ALynx/2.4 AmigaPort/1.29 |
amaya/V2.0a libwww/5.2.1 |
AIR_Mosaic(16bit)/v3.10.198.18 |
IBM WebExplorer DLL /v1.1 |
IBrowse/1.2 (AmigaOS 3.1) |
iCab/Pre1.4 (Macintosh; I; PPC) |
Die Beispiele zeigen, wie uneinheitlich die unterschiedlichen Browser-Typen sich identifizieren, was die Auswertung nicht gerade erleichtert. In der Regel hilft beim Analysieren beispielsweise mit einem Script nur, im ersten Schritt nach einschlägigen Schlüsselwörtern wie Opera
, Mosaic
, amaya
, Lynx
oder ICab
zu suchen. Im zweiten Schritt können Sie dann versuchen, durch Suchen nach Teilausdrücken wie Win
, Mac
, Amiga
usw. das Betriebssystem herauszufinden.
Es gibt kein Patentrezept, um "menschliche Seitenbesucher" von Software-Programmen zu unterscheiden, die beim Aufrufen der Web-Seiten im Batchbetrieb arbeiten und beispielsweise die Daten für ihre Suchmaschine indizieren oder Dateien an einen Proxy-Rechner übertragen. Die folgenden Beispiele zeigen ein paar typische Identifikationen solcher Programme.
Identifikation |
---|
Eule Robot v3.00 (www.eule.de) |
FAST-WebCrawler/0.3 (crawler@fast.no) |
Googlebot/2.1 (+http://www.google.com/bot.html) |
JCrawler/0.3 (robot; webmaster@netimages.com) |
Netscape-Proxy/3.52 (Batch update) |
Openfind Robot/1.1A2 |
W3CRobot/4.0D |
WebCrawler/2.0 |
Lycos_Spider_(T-Rex)/3.0 |
Aladin/3.324 |
taz.northernlight.com Gulliver/1.3 |
Openfind Robot/1.1A2 |
KIT-Fireball/2.0 |
URL-Minder/2.4.5 |
Bei Suchmaschinen-Robots gibt es zumindest einige Anhaltspunkte, nach denen sich eine Identifikationszeichenkette durchsuchen lässt. Solche Robots identifizieren sich oft mit Schlüsselwörtern wie Robot
, Spider
oder Crawler
. Viele von ihnen tragen im Namen auch den Namen des zugehörigen Suchdienstes. In den obigen Beispielen sind etwa Google
, Fireball
, Lycos
, Eule
, Northernlight
und Aladin
erkennbar. Generell sind Robots und auch Agenten von Proxy-Servern häufig daran erkennbar, dass sie bei der Identifikation einen Domain-Namen, einen URI oder eine E-Mail-Adresse angeben.
robots.txt - Robots kontrollieren | |
Sprachenkürzel | |
SELFHTML/Navigationshilfen Diverse technische Ergänzungen |
© 2005 Impressum