Agent użytkownika - User agent

W obliczeniowych , wykorzystując kliencka jest oprogramowanie, działając w imieniu użytkownika , który „wyszukuje, tynki i ułatwia interakcję użytkownika końcowego z zawartości sieci Web”. Agent użytkownika jest zatem specjalnym rodzajem agenta oprogramowania .

Do wyróżniających się przykładów agentów użytkownika należą przeglądarki internetowe i czytniki poczty e - mail . Często agent użytkownika działa jako klient w systemie klient-serwer . W niektórych kontekstach, takich jak protokół inicjowania sesji (SIP), termin agent użytkownika odnosi się do obu punktów końcowych sesji komunikacyjnej.

Identyfikacja agenta użytkownika

Gdy agent oprogramowania działa w protokole sieciowym, często identyfikuje siebie, typ aplikacji, system operacyjny , dostawcę oprogramowania lub wersję oprogramowania, przesyłając charakterystyczny ciąg identyfikacyjny do swojego partnera operacyjnego. W protokołach HTTP , SIP i NNTP ta identyfikacja jest przesyłana w polu nagłówka User-Agent . Boty , takie jak roboty sieciowe, często zawierają również adres URL i/lub adres e-mail, dzięki czemu webmaster może skontaktować się z operatorem bota.

Użyj w HTTP

W HTTP ciąg User-Agent jest często używany do negocjacji treści , gdzie serwer pochodzenia wybiera odpowiednią treść lub parametry operacyjne dla odpowiedzi. Na przykład ciąg User-Agent może być używany przez serwer sieci Web do wybierania wariantów na podstawie znanych możliwości konkretnej wersji oprogramowania klienckiego. Koncepcja dostosowywania treści jest wbudowana w standard HTTP w RFC 1945 „w celu dostosowania odpowiedzi w celu uniknięcia określonych ograniczeń agenta użytkownika”.

Ciąg User-Agent jest jednym z kryteriów wykluczenia robotów indeksujących z dostępu do niektórych części witryny przy użyciu standardu Robots Exclusion Standard ( plik robots.txt ).

Podobnie jak w przypadku wielu innych nagłówków żądań HTTP, informacje w ciągu „User-Agent” wpływają na informacje wysyłane przez klienta do serwera, ponieważ ciąg może się znacznie różnić w zależności od użytkownika.

Format dla przeglądarek internetowych obsługiwanych przez człowieka

Format ciągu User-Agent jest obecnie określony w sekcji 5.5.3 protokołu HTTP/1.1 Semantics and Content . Format ciągu User-Agent w HTTP to lista tokenów produktów (słów kluczowych) z opcjonalnymi komentarzami. Na przykład, jeśli produkt użytkownika nazywa się WikiBrowser, ciąg agenta użytkownika może mieć postać WikiBrowser/1.0 Gecko/1.0 . „Najważniejszy” składnik produktu jest wymieniony jako pierwszy.

Części tego ciągu są następujące:

  • nazwa i wersja produktu ( WikiBrowser/1.0 )
  • silnik układu i wersja ( Gecko/1.0 )

Podczas pierwszej wojny przeglądarek wiele serwerów WWW zostało skonfigurowanych do wysyłania stron internetowych wymagających zaawansowanych funkcji, w tym ramek , do klientów zidentyfikowanych tylko jako niektóre wersje Mozilli . Inne przeglądarki były uważane za starsze produkty, takie jak Mosaic , Cello , czy Samba , i otrzymywały dokument HTML.

Z tego powodu większość przeglądarek internetowych używa następującej wartości ciągu User-Agent:

Mozilla/[ wersja ] ([ informacje o systemie i przeglądarce ]) [ platforma ] ([ szczegóły platformy ]) [ rozszerzenia ]

Na przykład Safari na iPadzie używało:

Mozilla/5.0 (iPad; U; CPU OS 3_2_1 like Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, like Gecko) Mobile/7B405

Składowe tego ciągu są następujące:

  • Mozilla/5.0 : Poprzednio używane do wskazywania zgodności z silnikiem renderującym Mozilla.
  • (iPad; U; CPU OS 3_2_1 jak Mac OS X; en-us) : Szczegóły systemu, w którym działa przeglądarka.
  • AppleWebKit/531.21.10 : platforma używana przez przeglądarkę.
  • (KHTML, jak Gecko) : Szczegóły platformy przeglądarki.
  • Mobile/7B405 : jest używany przez przeglądarkę w celu wskazania konkretnych ulepszeń, które są dostępne bezpośrednio w przeglądarce lub za pośrednictwem stron trzecich. Przykładem tego jest Microsoft Live Meeting, który rejestruje rozszerzenie, dzięki czemu usługa Live Meeting wie, czy oprogramowanie jest już zainstalowane, co oznacza, że ​​może zapewnić usprawnienie dołączania do spotkań.

Przed migracją do bazy kodu Chromium , Opera była najczęściej używaną przeglądarką internetową, która nie miała ciągu User-Agent z "Mozilla" (zamiast tego zaczynała się od "Opera"). Od 15 lipca 2013 r. ciąg User-Agent Opery zaczyna się od „Mozilla/5.0” i, aby uniknąć napotkania starszych reguł serwera, nie zawiera już słowa „Opera” (zamiast tego używa się ciągu „OPR” do oznaczenia wersji Opery).

Format dla automatycznych agentów (botów)

Zautomatyzowane narzędzia do indeksowania stron internetowych mogą korzystać z uproszczonego formularza, w którym ważnym polem są dane kontaktowe w razie problemów. Zgodnie z konwencją słowo „bot” jest zawarte w nazwie agenta. Na przykład:

Googlebot/2.1 (+http://www.google.com/bot.html)

Od automatycznych agentów oczekuje się przestrzegania reguł zawartych w specjalnym pliku o nazwie „ robots.txt ”.

Podszywanie się pod klienta użytkownika

Popularność różnych produktów przeglądarek internetowych zmieniała się w całej historii sieci, co wpłynęło na projektowanie witryn w taki sposób, że czasami są one projektowane tak, aby działały dobrze tylko z określonymi przeglądarkami, a nie według jednolitych standardów sieci World Wide Web. Konsorcjum (W3C) lub Internet Engineering Task Force (IETF). Witryny często zawierają kod wykrywający wersję przeglądarki w celu dostosowania projektu strony wysyłanej zgodnie z otrzymanym ciągiem agenta użytkownika. Może to oznaczać, że mniej popularne przeglądarki nie otrzymują złożonej treści (nawet jeśli potrafią sobie z nią poprawnie poradzić) lub, w skrajnych przypadkach, odrzucają wszystkie treści. W związku z tym różne przeglądarki mają funkcję maskowania lub fałszowania ich identyfikacji, aby wymusić określone treści po stronie serwera. Na przykład przeglądarka Androida identyfikuje się jako Safari (między innymi), aby zapewnić kompatybilność.

Inne programy klienckie HTTP, takie jak menedżery pobierania i przeglądarki offline , często mają możliwość zmiany ciągu agenta użytkownika.

Boty spamowe i skrobaki internetowe często używają fałszywych programów użytkownika.

Skutkiem podszywania się pod klienta użytkownika może być niedokładność zebranych statystyk użytkowania przeglądarki internetowej .

Wąchanie agenta użytkownika

Sniffing agenta użytkownika to praktyka polegająca na wyświetlaniu różnych lub dostosowanych treści podczas przeglądania za pomocą określonych agentów użytkownika. Przykładem jest funkcja Outlook Web Access programu Microsoft Exchange Server 2003. Podczas przeglądania w przeglądarce Internet Explorer 6 lub nowszej wyświetlanych jest więcej funkcji w porównaniu do tej samej strony w innych przeglądarkach. Sniffing agenta użytkownika jest uważany za kiepską praktykę, ponieważ zachęca do projektowania specyficznego dla przeglądarki i karze nowe przeglądarki z nierozpoznanymi identyfikatorami agenta użytkownika. Zamiast tego W3C zaleca tworzenie standardowych znaczników HTML, umożliwiających poprawne renderowanie w jak największej liczbie przeglądarek i testowanie pod kątem określonych funkcji przeglądarki, a nie poszczególnych wersji lub marek przeglądarek.

Strony internetowe przeznaczone do wyświetlania na telefonach komórkowych często opierają się na sniffingu agenta użytkownika, ponieważ przeglądarki mobilne często znacznie się od siebie różnią.

Notacje siły szyfrowania

W przeglądarkach internetowych utworzonych w Stanach Zjednoczonych, takich jak Netscape Navigator i Internet Explorer , wcześniej używano liter U, I i N do określania siły szyfrowania w ciągu agenta użytkownika. Do 1996 r., kiedy rząd Stanów Zjednoczonych zezwolił na eksportowanie kluczy dłuższych niż 40 bitów, dostawcy dostarczali różne wersje przeglądarek o różnej sile szyfrowania. „U” oznacza „USA” (wersja z szyfrowaniem 128-bitowym), „I” oznacza „International” – przeglądarka ma szyfrowanie 40-bitowe i może być używana w dowolnym miejscu na świecie – a „N” oznacza ( de facto ) dla „Brak” (bez szyfrowania). Po zniesieniu ograniczeń eksportowych większość dostawców obsługiwała szyfrowanie 256-bitowe.

Wycofanie nagłówka User-Agent

W 2020 r. Google ogłosił, że wycofuje obsługę nagłówka User-Agent w swojej przeglądarce Google Chrome . Stwierdzili, że inni główni dostawcy przeglądarek internetowych poparli ten ruch, ale nie wiedzieli, kiedy inni dostawcy pójdą w ich ślady. Google stwierdził, że nowa funkcja o nazwie Wskazówki dla klientów zastąpi funkcjonalność ciągu User-Agent.

Zobacz też

Bibliografia