Как работает HTTP_USER_AGENT
Возможный дубликат:
Почему navigator.appCodeName возвращает Mozilla?
Когда я grap сервер PHP variabele HTTP_USER_AGENT с этим кодом:
<?php
$useragent = $_SERVER ['HTTP_USER_AGENT'];
echo "<b>Your User Agent is</b>: " . $useragent;
?>
Я получаю это в Google Chrome:
Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.4 (KHTML, например, Gecko) Chrome/22.0.1229.94 Safari/537.4
Это в firefox:
Mozilla/5.0 (Windows NT 6.1; rv: 16.0) Gecko/20100101 Firefox/16.0
И это в IE:
Mozilla/5.0 (совместимо; MSIE 9.0; Windows NT 6.1; Trident/5.0; BOIE9; NLNL)
Мой очевидный вопрос, как это работает. Почему мой пользовательский агент говорит Mozilla и Windows NT, когда я использую Google chrome?
Также, когда я использую firefox или IE.
Ответы
Ответ 1
Строка пользовательского агента - это текст, который сами браузеры отправляют на веб-сервер, чтобы идентифицировать себя, чтобы веб-сайты могли отправлять разные материалы на основе браузера или на основе совместимости с браузером.
Mozilla - это механизм рендеринга браузера (тот, который находится в ядре Firefox), и тот факт, что Chrome и IE содержат строку Mozilla/4 или /5, идентифицируют их как совместимые с этим механизмом рендеринга.
Ответ 2
http://www.useragentstring.com/
Посетите эту страницу, это даст вам хорошее объяснение каждого элемента вашего пользовательского агента.
Mozilla:
MozillaProductSlice. Заявляет, что это пользовательский агент на основе Mozilla, что справедливо только для браузеров Gecko, таких как Firefox и Netscape. Для всех других пользовательских агентов это означает "совместимость с Mozilla". В современных браузерах это используется только по историческим причинам. Он больше не имеет никакого реального значения