Я хочу доставить объект ActiveX с правильной разрядностью для запрашивающего браузера, то есть 32-разрядный объект для 32-разрядного IE и 64-разрядный объект для 64-разрядного IE. Для этой цели я ищу какой-то критерий, настолько хороший, насколько это возможно, чтобы различать две архитектуры IE.
Чтобы принять решение на стороне сервера, я должен использовать заголовок запроса User-Agent, поэтому проблема сводится к следующему: учитывая строку User-Agent, как обнаружить, с общими механизмами JSP, включая просто Java, битность экземпляра IE, который отправил запрос?
До сих пор я обнаружил, что 64-битные экземпляры содержат строки "Win64" и "x64" в заголовке, а 32-битные экземпляры - нет. Если все версии и конфигурации IE следуют этому поведению, решение в JSP так же просто, как
<% boolean _64 = request.getHeader("User-Agent").contains("Win64") %>
Мне бы очень хотелось выяснить, является ли это поведение официальной спецификацией IE, поэтому я могу рассчитывать на нее для всех версий и конфигураций IE от IE7 и до IE9. Публиковала ли Microsoft какую-либо такую спецификацию?
Примечание. Я не помечаю тег "Java", поскольку ответ, скорее всего, будет актуален для других языков.