![Servidor Azure DevOps 2020 y http/2](https://rvso.com/image/768912/Servidor%20Azure%20DevOps%202020%20y%20http%2F2.png)
He configurado httpsen nuestro Azure DevOps Server 2020.0.1 y queremos que IIS proporcione el sitio web a través de http/2. Al navegar por el sitio web con un navegador basado en Chromium (Chrome, Edge), todo el contenido se ofrece a través de http/1.1. Cuando se navega con Firefox, el contenido estático del sitio web se proporciona a través de http/2 y el contenido generado por la API se proporciona a través de http/1.1.
Quiero que todo el contenido de todos los navegadores mencionados se proporcione a través de http/2. ¿Es eso posible?
El sistema operativo es Windows Server 2016.
Respuesta1
No todas las funciones de IIS están habilitadas para HTTP/2, por lo que a veces su navegador sólo puede conectarse a través de HTTP 1.1. Microsoft documenta los escenarios eneste,
¿Cuándo no se admite HTTP/2?
En algunos casos, HTTP/2 no se puede utilizar en combinación con otras funciones. En estas situaciones, Windows recurrirá a HTTP/1.1 y continuará la transacción. Esto puede implicar negociar HTTP/1.1 durante el protocolo de enlace o enviar un código de error al cliente indicándole que vuelva a intentarlo a través de una conexión HTTP/1.1.
- La autenticación de Windows (NTLM/Kerberos/Negotiate) no es compatible con HTTP/2. En este caso, IIS recurrirá a HTTP/1.1.
- Texto claro: como se mencionó anteriormente, IIS actualmente solo admite HTTP/2 sobre TLS. Nuevamente, IIS recurrirá a HTTP/1.1.
- Limitación del ancho de banda: IIS tiene una función para limitar el ancho de banda (en Inetmgr, seleccione el sitio, 'Límites' en Configurar del panel Acción). Esto se aplica a HTTP/1.1 pero no se aplica a HTTP/2 (continuará sin errores ni limitación de ancho de banda).
Respuesta2
Esto es lo que encontré en mi búsqueda "¿Por qué Chrome usa http/1.1?". Parece ser un error conocido, que Chrome vuelve a http/1.1.
https://bugs.chromium.org/p/chromium/issues/detail?id=832586