User-Agent
Im Computer, a User-Agent ist jede Software, die im Namen von a handelt Benutzer, was "die Endbenutzerinteraktion mit Webinhalten abholt, rendert und erleichtert".[1] Ein Benutzeragenten ist daher eine besondere Art von Softwaremagiger.
Einige herausragende Beispiele für Benutzeragenten sind Internetbrowser und E -Mail -Leser. Oft fungiert ein Benutzeragenten als der Klient in einem Client -Server -System. In einigen Kontexten, wie z. B. innerhalb der Gesprächs Protokoll (SIP) der Begriff User-Agent bezieht sich auf beide Endpunkte einer Kommunikationssitzung.[2]
Benutzeragentenidentifikation
Wenn ein Softwareagent in einem Netzwerkprotokoll arbeitet, identifiziert er sich häufig selbst, seinen Anwendungstyp. Betriebssystem, Gerätemodell, Softwareanbieter oder Software -Revision durch Einreichen einer charakteristischen Identifizierung Saite zu seinem operativen Gleichaltrigen. In http[3], Schluck[2]und nntp[4] Protokolle, diese Identifizierung wird in einem Headerfeld übertragen User-Agent. Bots, wie Webcrawler, enthalten oft auch a URL und/oder E-Mail-Addresse so, dass die Webmaster kann den Bediener des Bots kontaktieren.
Verwendung in HTTP
In http[3], das Benutzer-Agent-Zeichenfolge wird oft für verwendet Inhaltsverhandlung, wobei der Ursprungserver geeignete Inhalte oder Betriebsparameter für die Antwort auswählt. Beispielsweise kann die Benutzer-Agent-Zeichenfolge von einem Webserver verwendet werden, um Varianten basierend auf den bekannten Funktionen einer bestimmten Version der Client-Software auszuwählen. Das Konzept der Anpassung von Inhalten ist in den HTTP -Standard in integriert RFC 1945 "Um Antworten zu verabschieden, um bestimmte Einschränkungen des Benutzeragenten zu vermeiden".
Die Nutzer-Agent-Zeichenfolge ist eines der Kriterien, anhand derer Webcrawler mit dem Zugriff auf bestimmte Teile einer Website ausgeschlossen werden können Roboter -Ausschlussstandard (Robots.txt Datei).
Wie bei vielen anderen HTTP-Anforderungsheadern trägt die Informationen in der Zeichenfolge "User-Agent" zu den Informationen bei, die der Client an den Server sendet, da die Zeichenfolge von Benutzer zu Benutzer erheblich variieren kann.[5]
Format für menschlich betriebene Webbrowser
Das Nutzer-Agent-String-Format ist derzeit nach Abschnitt 10.1.5 von angegeben HTTP -Semantik. Das Format der Benutzer-Agent-Zeichenfolge in HTTP ist eine Liste von Produkttoken (Schlüsselwörtern) mit optionalen Kommentaren. Wenn das Produkt eines Benutzers beispielsweise als Wikibrowser bezeichnet wurde, könnte seine Benutzeragentenzeichenfolge sein Wikibrowser/1.0 Gecko/1.0. Die "wichtigste" Produktkomponente ist zuerst aufgeführt.
Die Teile dieser Saite sind wie folgt:
- Produktname und Version (Wikibrowser/1.0)
- Layout -Engine und -version (Gecko/1.0)
Während des ersten BrowserkriegViele Webserver wurden konfiguriert, um Webseiten zu senden, die erweiterte Funktionen erforderten, einschließlich Rahmen, an Kunden, die als eine Version von identifiziert wurden Mozilla nur.[6] Andere Browser wurden als ältere Produkte angesehen, wie z. Mosaik, Cello, oder Sambaund würde ein HTML -Dokument mit nackten Knochen erhalten.
Aus diesem Grund verwenden die meisten Webbrowser einen Nutzer-Agent-String-Wert wie folgt:
Zum Beispiel hat Safari auf dem iPad Folgendes verwendet:
Mozilla/5.0 (iPad; u; CPU OS 3_2_1 Like Mac OS X; en-us) Applewebkit/531.21.10 (khtml, wie Gecko) Mobile/7b405
Die Komponenten dieser Zeichenfolge sind wie folgt:
- Mozilla/5.0: Zuvor verwendet, um die Kompatibilität mit dem Mozilla -Rendering -Motor anzuzeigen.
- (iPad; u; CPU OS 3_2_1 wie Mac OS X; en-us): Details des Systems, in dem der Browser ausgeführt wird.
- Applewebkit/531.21.10: Die Plattform, die der Browser verwendet.
- (KHTML, wie Gecko): Browser -Plattformdetails.
- Mobile/7B405: Dies wird vom Browser verwendet, um spezifische Verbesserungen anzuzeigen, die direkt im Browser oder über Dritte verfügbar sind. Ein Beispiel hierfür ist das Microsoft Live Meeting, das eine Erweiterung registriert, damit der Live -Meeting -Service weiß, ob die Software bereits installiert ist. Dies bedeutet, dass sie ein optimiertes Erlebnis für die Teilnahme an Meetings bieten kann.
Vor dem Migrieren in die Chrom Codebasis, Oper war der am häufigsten verwendete Webbrowser, in dem die Benutzer-Agent-Zeichenfolge mit "Mozilla" nicht hatte (stattdessen mit "Opera" begonnen). Seit 15. Juli 2013,[7] Die Benutzer-Agent-Zeichenfolge der Opera beginnt mit "Mozilla/5.0" und enthält, um die Ankunft der Legacy-Serverregeln zu vermeiden, nicht mehr das Wort "Opera" (statt die Zeichenfolge "OPR", um die Opera-Version zu bezeichnen).
Format für automatisierte Agenten (Bots)
Automatisierte Web -Crawling -Tools können ein vereinfachtes Formular verwenden, bei dem ein wichtiges Feld bei Problemen Kontaktinformationen sind. Mit Übereinkommen ist das Wort "Bot" im Namen des Agenten enthalten. Zum Beispiel:
GoogleBot/2.1 (+http: //www.google.com/bot.html)
Es wird erwartet, dass automatisierte Agenten Regeln in einer Sonderdatei befolgen. "Robots.txt".
User Agent Spoofing
Die Popularität verschiedener Webbrowserprodukte hat sich im gesamten Web der Web -Geschichte variiert, und dies hat das Design von Websites so beeinflusst, dass Websites manchmal nur mit bestimmten Browsern gut funktionieren und nicht nach einheitlichen Standards nach dem World Wide Web Konsortium (W3c) oder die Internettechnik-Arbeitsgruppe (IETF). Websites enthalten häufig Code zum Erkennen der Browserversion, um das Seitendesign nach der empfangenen Benutzeragenten -Zeichenfolge anzupassen. Dies kann bedeuten, dass weniger beliebte Browser keinen komplexen Inhalt erhalten (auch wenn sie möglicherweise korrekt damit umgehen können) oder in extremen Fällen alle Inhalte abgelehnt.[8] Somit haben verschiedene Browser ein Merkmal zu Mantel oder Parodie ihre Identifizierung, um bestimmte serverseitige Inhalte zu erzwingen. Zum Beispiel identifiziert sich der Android -Browser als Safari (unter anderem), um die Kompatibilität zu unterstützen.[9][10]
Andere HTTP -Client -Programme wie Laden Sie Manager herunter und Offline -BrowserSie können oft die Benutzeragentenzeichenfolge ändern.
Ein Ergebnis von Benutzeragenten -Spoofing kann sein, das gesammelt wurde Statistik der Nutzung des Webbrowsers sind ungenau.
Benutzeragent schnüffeln
Benutzeragent schnüffeln Ist die Praxis von Websites, die unterschiedliche oder angepasste Inhalte zeigen, wenn sie mit bestimmten Benutzeragenten angezeigt werden. Ein Beispiel dafür ist Microsoft Exchange Server Die Outlook Web Access -Funktion von 2003. Bei Betrachtung mit Internet Explorer 6 oder neuer wird mehr Funktionalität im Vergleich zur gleichen Seite in anderen Browsern angezeigt. Das Sniffing von User Agent wird als schlechte Praxis angesehen, da es das Browser-spezifische Design fördert und neue Browser mit nicht anerkannten Benutzeragentenidentifikationen bestraft. Stattdessen empfiehlt der W3C, Standard -HTML -Markup zu erstellen.[11] Ermöglichen Sie korrektes Rendering in so vielen Browsern wie möglich und um bestimmte Browserfunktionen anstelle bestimmter Browserversionen oder Marken zu testen.[12]
Websites, die für die Anzeige von Mobiltelefonen bestimmt sind Mobile Browser unterscheiden sich oft stark voneinander.
Verschlüsselungsstärke Notationen
In den USA erstellte Webbrowser, wie z. Netscape Navigator und Internet Explorerverwendete zuvor die Buchstaben u, i und n, um die anzugeben Verschlüsselung Stärke in der Benutzeragentenzeichenfolge. Bis 1996, als die Regierung der Vereinigten Staaten die Verschlüsselung mit Tasten ließ, die länger als 40 Bit exportiert werden konnten, versendeten die Anbieter verschiedene Browserversionen mit unterschiedlichen Verschlüsselungsstärken. "U" steht für "USA" (für die Version mit 128-Bit-Verschlüsselung) "," steht für "International"-der Browser hat eine 40-Bit-Verschlüsselung und kann überall auf der Welt verwendet werden-und "n" steht (steht (stehtde facto) für "keine" (keine Verschlüsselung).[13] Nach dem Heben von ExportbeschränkungenDie meisten Anbieter unterstützten die 256-Bit-Verschlüsselung.
Abwertung des Benutzer-Agent-Headers
Im Jahr 2020, Google kündigte an, dass sie die Unterstützung für den Benutzer-Agent-Header in ihrem ausführen würden Google Chrome Browser. Sie gaben an, dass andere wichtige Webbrowser -Anbieter den Umzug unterstützen, aber dass sie nicht wussten, wann andere Anbieter folgen würden.[14] Google erklärte, dass eine neue Funktion namens namens Kunde Hinweise würde die Funktionalität der Benutzer-Agent-Zeichenfolge ersetzen.[15]
Siehe auch
- Roboter -Ausschlussstandard
- Web -Crawler
- Drahtlose universelle Ressourcendatei (WURFL)
- User Agent Profile (UAPROF)
- Browser schnüffeln
- Webbrowser -Engine
Verweise
- ^ "W3C Definition des Benutzeragenten". www.w3.org. 16. Juni 2011. Abgerufen 2018-10-20.
- ^ a b RFC 3261, SIP: Sitzungsinitiationsprotokoll, IETF, The Internet Society (2002)
- ^ a b "RFC-9110: HTTP-Semantik". Ietf. Abgerufen 28. Juli 2022.
- ^ NETNEWS -Artikelformat. Ietf. November 2009. Sek. 3.2.13. doi:10.17487/rfc5536. RFC 5536.
- ^ Eckersley, Peter (27. Januar 2010). "Browserversionen tragen im Durchschnitt 10,5 Bit, die Informationen identifizieren". Elektronische Grenzfundament. Abgerufen 25. August 2011.
- ^ Verlauf der Browser-Benutzer-Agent-Zeichenfolge. Webaim.
- ^ "Opera User Agent Strings: Opera 15 und darüber hinaus". dev.opera.com. 15. Juli 2013. Abgerufen 2014-05-05.
- ^ Burstein beschwert sich "... ich wurde abgelehnt, bis ich mit Netscape zurückgekommen bin"
- ^ "Android Browser berichtet sich als Apple Safari". Archiviert von das Original am 6. August 2011. Abgerufen 9. August, 2011.
- ^ "Benutzeragentenzeichenfolge erklärt: Android Webkit Browser". UserAgentString.com. Archiviert von das Original am 4. Mai 2012. Abgerufen 29. Juli 2012.
Mozilla/5.0 (Linux; u; Android 2.2; en-sa; htc_desireehd_a9191 build/frf91) Applewebkit/533.1 (khtml, wie Gecko) Version/4.0 Mobile Safari/533.1
- ^ Pemberton, Stephen. "W3C Markup Validierungsdienst". W3c. Abgerufen 2011-10-18.
- ^ Clary, Bob (10. Februar 2003). "Browser -Erkennung und Cross -Browser -Unterstützung". Mozilla Developer Center. Mozilla. Archiviert von das Original Am 2011-11-17. Abgerufen 2009-05-30.
- ^ Zawinski, Jamie (28. März 1998). "Benutzer-Agent-Zeichenfolgen (veraltet)". Mozilla.org. Abgerufen 2010-01-08.
- ^ "Chrome Phase Support für Benutzeragenten". Infoq. Abgerufen 2020-03-25.
- ^ Cimpanu, Catalin. "Google, um Benutzer-Agent-Zeichenfolgen in Chrome auszuführen". ZDNET. Abgerufen 2020-03-25.