User Agent
Ein User Agent ist ein Client-Programm, mit dem ein Netzwerkdienst genutzt werden kann. Der User Agent ist die Schnittstelle zum Benutzer, die die Inhalte darstellt und Befehle entgegennimmt. Beispiele für User Agents sind Webbrowser, E-Mail-Programme, Newsreader und IRC-Clients.
Viele User Agents übertragen ihren Namen in Header-Zeilen bei Anfragen (Requests) an den Server. Der Begriff „User Agent“ wird dadurch auch als Synonym für diesen Parameter in einem HTTP-Header benutzt.
Webbrowser
Einige Beispiele zu Headern von verschiedenen User Agents von Webbrowsern:
Lynx/2.8.4rel.1 libwww-FM/2.14 SSL-MM/1.4.1 OpenSSL/0.9.6c
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)
Mozilla/4.77 [en] (X11; I; IRIX;64 6.5 IP30)
Mozilla/5.0 (compatible; Konqueror/3.2; Linux 2.6.2) (KHTML, like Gecko)
Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en) AppleWebKit/125.2 (KHTML, like Gecko) Safari/125.8
Mozilla/5.0 (OS/2; U; Warp 4.5; de; rv:1.8.1.11) Gecko/20071129 PmWFx/2.0.0.11
Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/525.13 (KHTML, like Gecko) Chrome/0.A.B.C Safari/525.13
Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.9.0.10) Gecko/2009042316 Firefox/3.0.10
Mozilla/5.0 (X11; U; Linux i586; en-US; rv:1.7.3) Gecko/20040924 Epiphany/1.4.4 (Ubuntu)
Opera/9.80 (Macintosh; Intel Mac OS X; U; en) Presto/2.2.15 Version/10.00
Oft benutzen Webserver diese User-Agent-Header, um zu entscheiden, welche Version einer Webseite dem Webbrowser zur Verfügung gestellt wird. Dies ist manchmal nötig, da manche Browser nicht alle Möglichkeiten von CSS und JavaScript unterstützen oder aufgrund mangelnder W3C-Konformität manche Webseiten anders darstellen, als vom Autor der Webseiten vorgesehen (siehe Browserweiche).
Die meisten Browser erlauben es, einen benutzerdefinierten User-Agent-Header zu übertragen.
Mobilfunkgeräte
Im Gegensatz zu den PC-Webbrowsern übermitteln die Mobilfunkgeräte zusätzliche Informationen im User-Agent, wie Firmware-Version des Gerätes, Browser-Typ und Version, oder Unterstützung von Java (J2ME). Später ging man dazu über, zusätzliche Informationen in das UAProf (User Agent Profile) auszugliedern.
Beispiele:BlackBerry8520/5.0.0.681 Profile/MIDP-2.1 Configuration/CLDC-1.1 VendorID/114
LG/KU800/v1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1
MOT-E1000/80.28.08I MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.1
Mozilla/5.0 (iPhone; U; CPU like Mac OS X; en) AppleWebKit/420+ (KHTML, like Gecko) Version/3.0 Mobile/1A543a Safari/419.3
Mozilla/5.0 (Linux; U; Android 2.2; de-de; HTC Magic Build/FRF91) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1
NokiaN73-1/2.0626.0.0.2 S60/3.0 Profile/MIDP-2.0 Configuration/CLDC-1.1
SHARP-TQ-GX30i/1.0 Profile/MIDP-1.0 Configuration/CLDC-1.0 UP.Browser/6.2.2.6.c.1.104 (GUI)
SIE-SL65/25 UP.Browser/7.0.0.1.c.3 (GUI) MMP/2.0 Profile/MIDP-2.0 Configuration/CLDC-1.1
SonyEricssonT68/R201A
E-Mail-Programme
Da der User-Agent-Header-Eintrag bereits in RFC 1945 für das Hypertext Transfer Protocol festgelegt ist, wird dieser Standard auch in E-Mail-Headern bzw. von E-Mail-Programmen verwendet. Header-Einträge, welche mit einem „X-“ beginnen sind allerdings nicht standardisiert und müssen somit keiner strikten Konvention genügen.
Beispiele:User-Agent: Microsoft Outlook IMO, Build 9.0.6604 (9.0.2911.0)
User-Agent: Mutt/1.5.13 (2006-08-11)
User-Agent: Thunderbird 1.5.0.7 (X11/20060927)
X-Mailer: Sylpheed version 0.9.6claws (GTK+ 1.2.10; i386-pc-linux-gnu)X-Mailer: T-Online eMail 5.00.0027
X-Newsreader: Microsoft Outlook Express 6.00.2800.1106
Suchmaschinen
Suchmaschinen benutzen für gewöhnlich eigene User-Agent-Header.
Beispiele:Mozilla/2.0 (compatible; Ask Jeeves/Teoma)
Mittels Browserweichen können dadurch in Suchmaschinen andere Informationen über den Inhalt einer Webseite eingetragen werden (Cloaking), z. B. um für mehr Werbeeinnahmen durch Bannerwerbung die Zugriffszahl zu erhöhen.
Newsreader
Newsreader werden oft nicht im „User-Agent: “-Header, sondern in Headern mit Bezeichnungen wie „X-Newsreader: “ o. Ä. übertragen.
Beispiele:User-Agent: 40tude_Dialog/2.0.8.1de
User-Agent: KNode/0.7.2
User-Agent: tin/1.7.2-20031104 ("Eriskay") (UNIX) (Linux/2.4.18-1-686 (i686))
X-Newsreader: Forte Agent 1.8/32.553
Außer für Statistiken haben diese Header kaum eine Funktion.
Weblinks
* [http://www.webaim.org/blog/user-agent-string-history/ user-agent-string-history] Die Geschichte des user-agent-string der verschiedenen Browser
* [http://www.useragentstring.com/ useragentstring.com] mit Erklärungen der einzelnen Stringbestandteile
Einzelnachweise
User agent
es:Agente de usuario
User-Agent
hu:User agent
it:User agent
ja:ユーザーエージェント
ko:사용자 에이전트
nl:Useragent
pl:User agent
ru:User Agent
sv:Användaragent
zh:用户代理
Text und Bilder dieses Beitrags stammen aus dem Artikel User Agent der freien Enzyklopädie Wikipedia und stehen unter der GNU Free Documentation License. Die Liste der Autoren ist in der Wikipedia unter dieser Seite verfügbar, der Original-Artikel lässt sich hier bearbeiten.