User Agent

Aus Wiki
Wechseln zu: Navigation, Suche

Definition

Abbildung: User Agent - Autor: Seobility - Lizenz: CC BY-SA 4.0

Ein User Agent (abgekürzt: UA) ist ein Programm, das mit Servern in einem Netzwerk kommuniziert. Dies kann beispielsweise ein Web Browser sein, der eine Webseite von einem Server im Internet abruft und anzeigt. Der User Agent agiert dabei wie ein menschlicher Agent als Vermittler zwischen User und Web Server. Er verarbeitet die Anweisungen des Users, leitet sie weiter und nimmt die angeforderten Daten entgegen. Der User Agent übermittelt hierbei Informationen wie die Browserversion, gegebenenfalls installierte Plugins und weitere Daten an den Web Server. Anhand dieser Daten kann der Server die Fähigkeiten des User Agents beurteilen und die passenden Daten an ihn ausliefern.

Übertragung des User Agents durch den HTTP Header

Die Informationen, die den User Agent identifizieren, werden im HTTP-Request Header an den Web Server übermittelt. Der Header enthält eine für den Agent charakteristische Zeichenfolge, mit der Server den Anwendungstyp, das Betriebssystem, den Softwarehersteller oder die Softwareversion des anfordernden Software-Benutzeragenten identifizieren können.

Der Aufbau und der Inhalt im Header sind nicht standardisiert. Jeder Hersteller kann eigene Informationen einfügen und übermitteln. Die grundlegende Syntax für einen Firefox Webbrowser lautet beispielsweise:

Mozilla / 5.0 (Plattform; rv: geckoversion) Gecko / Geckotrail Firefox / Firefoxversion

Mozilla / 5.0 ist das allgemeine Token, das besagt, dass der Web Browser Mozilla-kompatibel ist. In modernen Browsern wird diese Angabe nur aus historischen Gründen verwendet. Sie ist heutzutage nicht mehr von großer Bedeutung.

Plattform beschreibt die native Plattform, auf der der Webbrowser läuft - zum Beispiel Windows, Mac, Linux oder Android und, ob es sich um ein Mobiltelefon handelt oder nicht. Firefox OS für Mobiltelefone schreibt an dieser Stelle einfach "Mobile".

rv: geckoversion gibt die Version von Gecko an. Gecko ist eine sogenannte HTML-Rendering-Engine, die Webbrowser verwenden, um eine Webseite darzustellen. In aktuellen Browsern ist die Geckoversion gleich der Firefox-Version.

Gecko / Geckotrail zeigt an, dass der Browser auf Gecko basiert. Auf einem Desktop hat Geckotrail die feste Zeichenfolge "20100101".

Firefox / Firefoxversion gibt an, dass der Browser eine Firefox Version mit der angegebenen Versionsnummer ist.

Die Angabe eines auf einem Desktop mit Windows Betriebssystem und Windows Architektur laufenden Firefox-Browsers hat dann beispielsweise folgendes Aussehen:

Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:64.0) Gecko/20100101 Firefox/64.0

Es ist möglich, die Angaben, die der Agent übermittelt, zu ändern oder zu fälschen. Bei einigen mobilen Web Browsern beispielsweise kann "Mobiler Modus" oder "Desktop-Modus" gewählt werden, um auf bestimmte Websites zuzugreifen, die nur Desktop-Computer zulassen. In den Anfängen des Internets haben sich die ersten Internet Explorer von Microsoft als Netscape-Browser ausgegeben, um auf Webseiten zugreifen zu können, die für den Netscape Navigator, den damals marktbeherrschenden Browser, konzipiert waren.

Arten von User Agents

Browser wie Mozilla Firefox, Chrome von Google sowie Safari und Opera sind Beispiele für User Agents. Andere Anwendungen können jedoch ebenfalls als User Agent fungieren. Beispiele hierfür sind:

  • Crawler: Googlebot, Yahoo! Slurp, MSN-Bot
  • Spielekonsolen: PlayStation, Wii, PlayStation Portable und Bunjalloo (der Browser des Nintendo DS)
  • Legacy-Betriebssysteme: AmigaVoyager
  • Link Checker: z.B. W3C-Checklink
  • Web Applications: Flash Player, Adobe Acrobat Reader, Feed-Reader, Screen-Reader, Validatoren, Media-Player, Streaming-Portale

Nicht alle Benutzeragenten werden von Menschen gesteuert oder instruiert. Suchmaschinen-Crawler sind ein Beispiel für Benutzeragenten, die weitgehend automatisiert Webseiten besuchen.

Bedeutung des User Agents

Sobald sich ein Benutzeragent beim Web Server identifiziert hat, kann ein Prozess namens Content Negotiation beginnen. Content Negotiation (deutsch: "Inhaltsvereinbarung") ist ein in HTTP definierter Mechanismus, der es ermöglicht, verschiedene Versionen eines Dokuments oder einer anderen Ressource unter derselben URL bereitzustellen. Browser können mithilfe der Informationen des User Agents angeben, welche Version ihren Fähigkeiten am besten entspricht. Eine klassische Anwendung dieses Mechanismus wäre es, ein Bild im GIF- oder PNG-Format bereitzustellen, sodass an einen User Agent, der keine PNG-Bilder anzeigen kann (wie zum Beispiel einer älteren Versionen des MS Internet Explorer) die GIF-Version ausgeliefert wird. Ebenso können je nach Browserfähigkeiten unterschiedliche Stylesheets (CSS), JavaScripts oder die mobile Version einer Webseite für ein Smartphone bereitgestellt werden. Übermittelt der User Agent die Spracheinstellung, kann die passende Sprachversion eines Dokumentes ausgeliefert werden. Ein Adobe Acrobat Reader erhält Zugriff auf PDF Dokumente und ein Media Player auf Videos.

Wenn eine Anwendung einen auf seinen User Agent abgestimmten Inhalt ausgeliefert bekommt, wird dieser Vorgang als Agent Name Delivery bezeichnet. Agent Name Delivery kann bei der Suchmaschinenoptimierung genutzt werden, um den Bots der Suchmaschinen andere Inhalte zu präsentieren, als den User Agents realer Besucher. Bei dieser als Cloaking bezeichneten Black Hat SEO Taktik sehen Besucher eine für menschliche Nutzer optimierte Webseite und die Crawler eine Version mit einer meist einfachen und für ein hohes Ranking in den Suchergebnissen optimierten Struktur und Inhalten. Suchmaschinen kennen jedoch diese Spam-Technik. Die Crawler tarnen sich daher oft als Browser, um dieses Vorgehen zu unterbinden.

Ähnliche Artikel