Определить браузер, если он поддерживает/включен для http2 через javascript или php

Я проверил похожие вопросы и нашел два варианта, с которыми я могу продолжить, однако оба имеют проблемные проблемы.

if ( performance && performance.timing.nextHopProtocol ) {
    console.log('Protocol:' + performance.timing.nextHopProtocol);
} else if ( window.chrome && window.chrome.loadTimes ) {
console.log('Protocol:' + window.chrome.loadTimes().connectionInfo);
} else {
    console.log("Browser does not expose connection protocol");
}

Однако приведенный выше код возвращает протокол, хотя при использовании моего Chrome он поддерживает http2 и способен, но по-прежнему возвращает http1.

Другим решением является составление списка поддерживаемых браузеров и перекрестная проверка http_useragent, однако список следует время от времени проверять, а также перепроверять версии ОС. так как, например, IE 11 в Windows 10 работает, но, скажем, для более низкой версии это не будет.


person Community    schedule 30.06.2017    source источник
comment
Итак... предположим, вы обнаружили, что браузер поддерживает HTTP/2, что тогда? Что вы делаете с этой информацией? Я спрашиваю из любопытства, может быть, вы найдете что-то полезное, поэтому, если да, я хотел бы посмотреть, что это может быть :)   -  person Mjh    schedule 30.06.2017
comment
Я в основном пытаюсь воспроизвести эту страницу. https://http2.akamai.com/demo однако их обнаружение http2 является их собственной службой, я считаю. Я работаю в компании, занимающейся веб-хостингом, поэтому мы настраиваем страницы сравнения для обновлений http2. уже сделано со всем остальным, кроме этого.   -  person    schedule 30.06.2017
comment
чтение это они выполняют проверку на стороне сервера, а не спереди.   -  person Kaiido    schedule 30.06.2017
comment
@Kaiido, да, на стороне сервера + у них есть собственный сервис для этого Edge Side включает в себя Akamai. Так что я ищу любые другие вещи, которые я могу использовать. пхп тоже в порядке.   -  person    schedule 30.06.2017
comment
Протокол зависит от сервера, поэтому performance.getEntriesByType('resource') не поможет.   -  person Knu    schedule 27.05.2018