Nagłówek żądania HTTP: zmienna UserAgent
Podczas wysyłania żądania HTTP, IE wysyła zmienną User-Agent do serwera. Możliwa wartość (widziana przez debugger sieciowy):
User-Agent: Mozilla /5.0 (Compatible MSIE 9.0;Windows NT 6.1;WOW64; Trident / 5.0)
Moje pytanie: jak IE (lub jakakolwiek inna przeglądarka) wykryje tę zmienną? Pytam o to, ponieważ odwiedzając niektóre strony, ta zmienna jest inna niż inne i chciałbym prześledzić, skąd się bierze zmiana. "Zgodność Ustawienia " to jedna z opcji, ale myślę, że jest w tym coś więcej.
Czy ktoś może wyjaśnić proces tej zmiennej?
2 answers
User-Agent pojawia się w nagłówku żądania HTTP, a nie w odpowiedzi HTTP. Zasadniczo żądanie jest wysyłane z przeglądarki do aplikacji internetowej. Tak więc zmienna user-agent jest wypełniana przez przeglądarkę. Różne przeglądarki wypełnią to pole różnymi wartościami.
O tym, jak IE znaleźć te zmienne, myślę, że pytasz o klucze rejestru User-Agent .
Można również nadpisać niektóre tokeny ciągu User-agent, dodając wartości do następujących klucz rejestru.
HKEY_LOCAL_MACHINE (or HKEY_CURRENT_USER)
SOFTWARE
Microsoft
Windows
CurrentVersion
Internet Settings
5.0
User Agent
(default) = "Mozilla/4.0"
Compatible = "compatible"
Platform = "Windows NT 5.1"
Version = "MSIE 6.0"
Pre Platform
Token = Value
Post Platform
Token = Value
Domyślna wartość klucza User Agent zastępuje tokeny nazwy aplikacji i wersji aplikacji zgłoszone w łańcuchu user-agent. Należy pamiętać, że pierwsze siedem znaków jest używanych do nazwy aplikacji, a pozostałe znaki określają token wersji aplikacji.
Wartości Compatible, Platform i Version zastępują odpowiednie tokeny w łańcuchu user-agent.
Dodatkowe tokeny mogą być dodawane do ciągu User-agent przez używanie edytora rejestru do tworzenia nowych wartości ciągów pod kluczem Pre-Platform lub post-Platform. Nazwa wartości powinna być kompletnym tokenem; Dane wartości są ignorowane. Tokeny dodane do klucza Pre-Platform pojawiają się przed tokenem platformy w końcowym łańcuchu user-agent. Tokeny dodane do klucza Post-Platform pojawiają się po tokenie platformy w końcowym łańcuchu user-agent. Wiele tokenów w kluczu Pre-platformowym lub Post-platformowym jest wyświetlanych w nieprzewidywalnej kolejności.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-03-05 04:40:11
Artykuł Wikipedii na User Agent stwierdza, że:
Format ciągów User-Agent jest obecnie określony w sekcji 14.43 RFC 2616 (HTTP/1.1) format ciągu User-Agent w HTTP jest lista tokenów produktów (słów kluczowych) z opcjonalnymi komentarzami.
Więc polecam przeczytać RFC 2616 Sekcja o tym:
14.43 User-Agent
Pole User-Agent request-header zawiera informacje o użytkownik / align = "left" / Jest to dla celów statystycznych, śledzenie naruszeń protokołu i automatyczne rozpoznawanie użytkownika w 2009 roku firma została założona przez Marka Iwo ' a.]} ograniczenia agenta. Agenci użytkownika powinni zawierać To pole z
prośby. Pole może zawierać wiele tokenów produktu (sekcja 3.8) i komentarze identyfikujące agenta i wszelkie podprodukty, które tworzą
znaczna część agenta użytkownika. Zgodnie z konwencją, produkt żetony są wymienione w kolejności ich znaczenia dla identyfikacji
podanie.User-Agent = "User-Agent" ":" 1*( product | comment )
Przykład:
User-Agent: CERN-LineMode/2.15 libwww/2.17b3
Sekcja 4.8 o produktach token stwierdza, co następuje:
Zgodnie z RFC 2616 zawartość agentów Użytkownika zależy od przeglądarki. Na przykład, oto jak Mozilla Firefox buduje swojego agenta użytkownika: https://developer.mozilla.org/en-US/docs/Gecko_user_agent_string_reference3.8 Żetony Produktu
Tokeny produktu są używane do komunikacji aplikacji do
zidentyfikuj się po nazwie i wersji oprogramowania. Większość pól używających
tokeny produktów umożliwiają również produkty podrzędne, które stanowią znaczącą część
z lista aplikacji, oddzielona białą spacją. By
konwencja, produkty są wymienione w kolejności ich znaczenia
do identyfikacji wniosku.product = token ["/" product-version] product-version = token
Przykłady:
User-Agent: CERN-LineMode/2.15 libwww/2.17b3 Server: Apache/0.8.4
Żetony produktu powinny być krótkie i rzeczowe. Nie mogą być
wykorzystywane w celach reklamowych lub innych nieistotnych informacji. Chociaż każdy znak tokena może pojawić się w wersji produktu, ten token powinien
być używane tylko dla identyfikatora wersji (tj., kolejne wersje
ten sam produkt powinien różnić się jedynie porcją wersji produktu wartość produktu).
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-03-06 11:48:21