Введение

Код веб-сайта для определения браузера пользователя.

Определение браузера (также известное как "browser sniffing") – это набор техник, используемых на веб-сайтах и в веб-приложениях для определения веб-браузера, который использует посетитель, и предоставления ему соответствующего контента. Оно также используется для обнаружения мобильных браузеров и отправки им веб-сайтов, оптимизированных для мобильных устройств. Эта практика иногда применяется для обхода несовместимости между браузерами, возникающей из-за различной интерпретации HTML, каскадных таблиц стилей (CSS) или объектной модели документа (DOM). Хотя Консорциум Всемирной паутины поддерживает актуальные центральные версии некоторых из наиболее важных веб-стандартов в виде рекомендаций, на практике ни один разработчик программного обеспечения не создал браузер, который бы точно соответствовал этим стандартам; реализация других стандартов и протоколов, таких как SVG и XMLHttpRequest, также различается. В результате разные браузеры могут отображать одну и ту же страницу по-разному, и поэтому определение браузера было разработано для выявления используемого веб-браузера, чтобы обеспечить единообразное отображение контента.

Стандартный метод обнаружения браузера

Веб-сервер взаимодействует с клиентом, используя протокол связи, известный как HTTP, или протокол передачи гипертекста, который предписывает клиенту отправлять серверу информацию о браузере, используемом для просмотра веб-сайта, в заголовке User-Agent.

Серверная проверка

Обширные технологии браузеров позволяют осуществлять постоянное отслеживание пользователей, даже если они стремятся к анонимности. Подробнее об отпечатках браузера см. в разделе «Отпечаток устройства».

Проблемы и стандарты

Многие веб-сайты используют определение браузера для того, чтобы выяснить, способен ли браузер посетителя использовать определенные функции (такие как JavaScript, DHTML, ActiveX или каскадные таблицы стилей), и отображают страницу с ошибкой, если используется неподдерживаемый браузер. Однако учесть огромное разнообразие браузеров, доступных пользователям, практически невозможно. Как правило, веб-дизайнер, использующий определение браузера для выбора версии страницы, тестирует три-четыре самых популярных браузера и предоставляет контент, адаптированный для каждого из них. Если пользователь использует браузер, который не был протестирован, нет гарантии, что ему будет показана рабочая страница; в таком случае пользователю, возможно, придется сменить браузер или отказаться от посещения этой страницы. Консорциум World Wide Web, устанавливающий стандарты для создания веб-страниц, рекомендует разрабатывать веб-сайты в соответствии с этими стандартами и обеспечивать их "корректное отображение" даже в браузерах, не поддерживающих определенные стандарты.