Parser agenta użytkownika

Analizuj ciągi user agent, aby uzyskać szczegółowe informacje o przeglądarce, urządzeniu i systemie operacyjnym za pomocą naszego narzędzia do analizy user agent.

5 z 2 ocen
Parser agenta użytkownika

Parser agenta użytkownika to bezpłatne narzędzie, które odczytuje ciąg agenta użytkownika i rozpoznaje przeglądarkę, system operacyjny oraz typ urządzenia.

Co można odczytać z ciągu agenta użytkownika?

Ciąg agenta użytkownika to wartość pola HTTP User-Agent. W przypadku przeglądarki internetowej zwykle zawiera nazwy produktów, numery wersji, oznaczenia systemu operacyjnego i informacje wskazujące na typ urządzenia. Takie ciągi mogą też wysyłać klienty wiersza poleceń, roboty sieciowe, czytniki kanałów i przeglądarki wbudowane w aplikacje.

Format ten jest mniej uporządkowany, niż mogłoby się wydawać. Przeglądarki często umieszczają w nim oznaczenia zgodności związane z innymi przeglądarkami, dlatego dopasowanie pierwszej rozpoznawalnej nazwy produktu może prowadzić do błędnego wyniku. Na przykład przeglądarki oparte na Chromium zwykle zawierają oznaczenia związane zarówno z Chrome, jak i Safari. Parser analizuje połączenie i kolejność oznaczeń, zamiast traktować wartość jak prostą listę.

Dane agenta użytkownika są również deklarowane przez samego klienta. Może on je zmienić lub całkowicie sfałszować, a niektóre przeglądarki ograniczają ilość ujawnianych informacji o wersji i urządzeniu. Wynik analizy przydaje się więc do klasyfikowania i diagnozowania problemów, ale nie stanowi dowodu tożsamości urządzenia.

Jak użyć parsera agenta użytkownika?

Wklej pełną wartość nagłówka w polu Agent użytkownika i uruchom narzędzie. Otrzymasz trzy pola: Przeglądarka, System operacyjny i Typ urządzenia.

  1. Skopiuj wartość znajdującą się po User-Agent z żądania HTTP, dziennika dostępu lub narzędzi deweloperskich przeglądarki.
  2. Zachowaj oryginalne spacje, nawiasy, średniki, ukośniki i numery wersji. Oddzielają one produkty i komentarze w ciągu.
  3. Prześlij wartość, a następnie porównaj zwrócone klasyfikacje z kontekstem żądania.
  4. W swoich notatkach diagnostycznych zachowaj oryginalny ciąg razem z wynikiem analizy. Sama klasyfikacja może ukrywać przydatne oznaczenia wersji lub zgodności.
Narzędzie Parser agenta użytkownika w serwisie digily.link wraz z formularzem wprowadzania danych

Parser działa na serwerze. Ciąg agenta użytkownika jest przesyłany na serwer przez HTTPS i nie jest przechowywany. Mimo to przed wysłaniem wpisu skopiowanego z dziennika sprawdź, czy nie zawiera niezwiązanych z analizą parametrów zapytania, identyfikatorów sesji lub wewnętrznych nazw hostów.

Jak interpretować wynik analizy?

Każde pole traktuj jako klasyfikację wywnioskowaną z oznaczeń przekazanych przez klienta, a nie jako niezależnie potwierdzoną informację o sprzęcie lub oprogramowaniu.

  • Przeglądarka wskazuje rodzinę przeglądarki lub klienta rozpoznaną na podstawie ciągu. Osadzone widoki internetowe i przeglądarki wywodzące się z Chromium bywają trudniejsze do rozróżnienia, ponieważ mają wiele wspólnych oznaczeń.
  • System operacyjny wskazuje platformę rozpoznaną na podstawie takich oznaczeń jak Windows NT, Android, iPhone OS, Mac OS X lub Linux. Warstwy zgodności i zmodyfikowane ciągi agenta użytkownika mogą ograniczać dokładność tego wyniku.
  • Typ urządzenia przypisuje klienta do ogólnej kategorii urządzeń na podstawie oznaczeń sprzętu i platformy. Traktuj ten wynik jako praktyczną kategorię, a nie dokładny model sprzętu.

Udokumentowane pola wyniku nie stanowią raportu z walidacji składni. Nieprawidłowy, skrócony lub nierozpoznany ciąg agenta użytkownika może nie zawierać dość informacji, by uzyskać przydatną klasyfikację. Nie istnieje jednak uniwersalna lista błędów porównywalna z błędami JSON, takimi jak zbędne przecinki na końcu czy klucze bez cudzysłowów. Analiza agentów użytkownika opiera się głównie na heurystyce, ponieważ rzeczywiste ciągi różnią się między klientami i często zachowują dawną składnię zgodności.

Pusta wartość nie zawiera niczego, co można sklasyfikować. Bardzo długie wartości mogą obejmować rozszerzenia, identyfikatory aplikacji lub powtórzone oznaczenia produktów, natomiast liczby zwykle mają znaczenie tylko w połączeniu z oznaczeniem produktu, którego dotyczą. Znaki diakrytyczne lub znaki spoza alfabetu łacińskiego mogą występować w niestandardowych ciągach klientów, ale same w sobie nie identyfikują przeglądarki, systemu operacyjnego ani urządzenia.

Przykładowy wynik wygenerowany przez narzędzie Parser agenta użytkownika

Przykłady

Dane wejściowe Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36

Parser zwykle sklasyfikuje ten ciąg jako Chrome w systemie Windows oraz urządzenie stacjonarne. Oznaczenie Safari służy zapewnieniu zgodności i samo w sobie nie powinno powodować rozpoznania przeglądarki jako Safari.

Dane wejściowe Mozilla/5.0 (iPhone; CPU iPhone OS 17_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.4 Mobile/15E148 Safari/604.1

Ten ciąg wskazuje na Safari w systemie iOS oraz urządzenie mobilne. Wyrażenie "like Mac OS X" jest częścią informacji o zgodności, natomiast oznaczenia iPhone i Mobile są bardziej wiarygodnymi wskazówkami dotyczącymi urządzenia.

Jeśli agent użytkownika został zapisany w parametrze zapytania adresu URL, może być zakodowany procentowo. Użyj narzędzia Parser URL, aby wyodrębnić i odkodować parametr, a następnie przeanalizuj otrzymaną wartość agenta użytkownika.

Kiedy warto analizować agenta użytkownika, a kiedy nie?

Analiza przydaje się, gdy potrzebujesz czytelnego objaśnienia nieznanego żądania albo chcesz sprawdzić logikę klasyfikacji przed wdrożeniem. Typowe zastosowania obejmują sprawdzanie wpisu z dziennika dostępu Apache lub nginx, analizowanie zgłoszenia dotyczącego wyświetlania strony w konkretnej przeglądarce, kontrolowanie ruchu z aplikacji z osadzoną przeglądarką oraz odczytywanie surowych danych wyeksportowanych z platformy analitycznej.

Analiza zwykle nie ma sensu, jeśli inny system udostępnia już przeglądarkę, system operacyjny i urządzenie w postaci uporządkowanych pól. Niewiele też daje, gdy usługa ma jedynie przekazać dalej lub zarchiwizować oryginalny nagłówek. Nie używaj wyniku jako jedynej podstawy uwierzytelniania, wykrywania oszustw ani kontroli dostępu, ponieważ nadawca może sfałszować ten ciąg.

W przypadku responsywnych układów zapytania medialne CSS i wykrywanie funkcji są zazwyczaj bardziej niezawodne niż rozpoznawanie urządzenia po stronie serwera. Analizuj agenta użytkownika, gdy potrzebujesz kontekstu diagnostycznego lub danych do raportu, a nie po to, by zakładać obsługę określonej funkcji przeglądarki.

Najczęściej zadawane pytania

Czy parser rozpozna, że żądanie pochodzi od bota?

Zwracane pola nie obejmują osobnej klasyfikacji botów. Niektóre roboty sieciowe wyraźnie przedstawiają się w ciągu agenta użytkownika, ale inne naśladują przeglądarki lub pomijają przydatne szczegóły. W razie potrzeby potwierdź automatyczny ruch na podstawie częstotliwości żądań, opublikowanych metod weryfikacji adresów IP robotów oraz sposobu obsługi żądań.

Dlaczego agent użytkownika Edge zawiera nazwy Chrome i Safari?

Współczesna przeglądarka Edge jest oparta na Chromium i zawiera oznaczenia zgodności potrzebne stronom analizującym agentów użytkownika. Parser musi najpierw wyszukać bardziej szczegółowe oznaczenie Edge, zanim sklasyfikuje żądanie jako pochodzące ze zwykłego Chrome lub Safari. Liczą się zarówno kolejność oznaczeń, jak i ich szczegółowość.

Czy mogę przekierowywać użytkowników mobilnych na podstawie typu urządzenia?

Możesz potraktować typ urządzenia jako wskazówkę, ale bezwarunkowe przekierowanie może błędnie sklasyfikować tablety, przeglądarki działające w trybie komputerowym i zmodyfikowane ciągi agenta użytkownika. Lepiej zastosuj responsywną stronę, a jeśli osobna wersja mobilna jest niezbędna, pozwól użytkownikowi wybrać inną wersję.

Czy wskazówki klienta przeglądarki zastępują analizę agenta użytkownika?

Wskazówki klienta mogą dostarczać uporządkowanych informacji o przeglądarce i platformie, jeśli obsługują je zarówno przeglądarka, jak i serwer. Nie są jednak dostępne w każdym żądaniu ani w każdym kliencie. Systemy obsługujące starsze przeglądarki, roboty sieciowe i istniejące dzienniki dostępu mogą nadal wymagać analizy agenta użytkownika. Przechowuj tylko te klasyfikacje agentów użytkownika, które są potrzebne do danego zadania, i uwzględniaj obowiązujące wymogi ochrony prywatności.

Popularne narzędzia